code: public IntSet intKeySet ()
      {
          // damn Sun bastards made the 'keySet' variable with default access, so we can't share it
          if (_keySet == null) {
              _keySet = new AbstractIntSet() {
                  public Interator interator () {
                      return new AbstractInterator () {
                          public boolean hasNext () {
                              return i.hasNext();
                          }
                          public int nextInt () {
                              return i.next().getIntKey();
                          }
                          @Override public void remove () {
                              i.remove();
                          }
                          private Iterator<IntEntry<V>> i = intEntrySet().iterator();
                      };
                  }
  
                  @Override public int size () {
                      return HashIntMap.this.size();
                  }
  
                  @Override public boolean contains (int t) {
                      return HashIntMap.this.containsKey(t);
                  }
  
                  @Override public boolean remove (int value) {
                      Record<V> removed = removeImpl(value, true);
                      return (removed != null);
                  }
              };
          }
          return _keySet;
      }
docs: documentation inherited from interface IntMap