public long[] getLongArray(int startingOffset, int len) {
if (size <= 0 || startingOffset < 0) {
throw (new IllegalArgumentException());
}
if ((startingOffset + len) > size()) {
throw (new IndexOutOfBoundsException());
}
long[] result = new long[len]; // allocate result array
int first_index = (startingOffset >> exp);