code: public Interator interator ()
      {
          return new AbstractInterator() {
              public boolean hasNext () {
                  checkConcurrentModification();
                  return _pos < _size;
              }
              public int nextInt () {
                  checkConcurrentModification();
                  if (_pos >= _size) {
                      throw new NoSuchElementException();
                  }
                  if (_idx == 0) {
                      // start after a sentinel.  if we don't and instead start in the middle of a
                      // run of filled buckets, we risk returning values that will reappear at the
                      // end of the list after being shifted over to due to a removal
                      while (_buckets[_idx++] != _sentinel);
                  }
                  int mask = _buckets.length - 1;
                  for (; _pos < _size; _idx++) {
                      int value = _buckets[_idx & mask];
                      if (value != _sentinel) {
                          _pos++;
                          _idx++;
                          return value;
                      }
                  }
                  // we shouldn't get here
                  throw new RuntimeException("Ran out of elements getting next");
              }
              @Override public void remove () {
                  checkConcurrentModification();
                  if (_idx == 0) {
                      throw new IllegalStateException("Next method not yet called");
                  }
                  int pidx = (--_idx) & (_buckets.length - 1);
                  if (_buckets[pidx] == _sentinel) {
                      throw new IllegalStateException("No element to remove");
                  }
                  _buckets[pidx] = _sentinel;
                  _pos--;
                  _size--;
                  _omodcount = ++_modcount;
                  shift(pidx);
              }
              protected void checkConcurrentModification () {
                  if (_modcount != _omodcount) {
                      throw new ConcurrentModificationException();
                  }
              }
              protected int _pos, _idx;
              protected int _omodcount = _modcount;
          };
      }
docs: documentation inherited from interface IntSet