protected int enumerateImpl(T object) {
    if( object == null ) return 0;

    int number = myNumbers.getInt(object);
    if (number == 0) {
      number = myNextNumber++;
      myNumbers.put(object, number);
      return -number;
    }
    return number;
  }
protected int enumerateImpl(T object)