public synchronized IntIdsIterator intIterator() {
    RandomAccessIntContainer intContainer = randomAccessContainer;
    if (intContainer == null && !hasRemovals) {
      if (changes != null) {
        if (mayHaveDupes) {
          removingDupesAndSort();
        }
        return new ChangesIterator(changes, length, true);
      }
    }
    return getRandomAccessContainer().intIterator();
  }
public synchronized IntIdsIterator intIterator()