return result;
}
public ByteIterator iterator() {
if (size == 0)
return new ByteIterator() {
public boolean hasNext()
{ return false; }
public byte next()
{ Exceptions.endOfIterator(); throw new RuntimeException(); }
public void remove()
{ Exceptions.noElementToRemove(); }
};
return new ByteIterator() {
int nextLongIndex = nextLongIndex(0);
int nextBitIndex = nextLongIndex < data.length ? nextBitIndex(nextLongIndex, 0) : 0;
int lastValue = -1;
int nextLongIndex(int index) {