public int get(int index, long[] arr, int off, int len) {assert len > 0 : "len must be > 0 (got " + len + ")";assert index >= 0 && index < size();assert off + len <= arr.length;final int gets = Math.min(size() - index, len);for (int i = index, o = off, end = index + gets; i < end; ++i, ++o) {arr[o] = get(i);}return gets;}

public virtual int Get(int index, long[] arr, int off, int len){Debug.Assert(len > 0, "len must be > 0 (got " + len + ")");Debug.Assert(index >= 0 && index < Count);Debug.Assert(off + len <= arr.Length);int gets = Math.Min(Count - index, len);for (int i = index, o = off, end = index + gets; i < end; ++i, ++o){arr[o] = Get(i);}return gets;}
