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