| Index: client/dom/src/_Lists.dart
 | 
| diff --git a/client/dom/src/_Lists.dart b/client/dom/src/_Lists.dart
 | 
| index e75b06a0bdc55be01e25720ba13968d798be99d3..002c1fc671ac02ecf348b2d03ad252a8e911931a 100644
 | 
| --- a/client/dom/src/_Lists.dart
 | 
| +++ b/client/dom/src/_Lists.dart
 | 
| @@ -46,4 +46,23 @@ class _Lists {
 | 
|      }
 | 
|      return -1;
 | 
|    }
 | 
| +
 | 
| +  /**
 | 
| +   * Returns a sub list copy of this list, from [start] to
 | 
| +   * [:start + length:].
 | 
| +   * Returns an empty list if [length] is 0.
 | 
| +   * Throws an [IllegalArgumentException] if [length] is negative.
 | 
| +   * Throws an [IndexOutOfRangeException] if [start] or
 | 
| +   * [:start + length:] are out of range.
 | 
| +   */
 | 
| +  static List getRange(List a, int start, int length, List accumulator) {
 | 
| +    if (length < 0) throw new IllegalArgumentException('length');
 | 
| +    if (start < 0) throw new IndexOutOfRangeException(start);
 | 
| +    int end = start + length;
 | 
| +    if (end > a.length) throw new IndexOutOfRangeException(end);
 | 
| +    for (int i = start; i < end; i++) {
 | 
| +      accumulator.add(a[i]);
 | 
| +    }
 | 
| +    return accumulator;
 | 
| +  }
 | 
|  }
 | 
| 
 |