class IntegerNumberer implements Numberer<Long> {
  /** Tells the numberer that a new object needs to be assigned a number. */
  @Override
  public void add(Long o) {
  }

  /**
   * Should return the number that was assigned to object o that was previously passed as an argument to add().
   */
  @Override
  public long get(Long o) {
    if (o == null) {
      return 0;
    }
    return o.longValue();
  }

  /** Should return the object that was assigned the number number. */
  @Override
  public Long get(long number) {
    if (number == 0) {
      return null;
    }
    return new Long(number);
  }

  /** Should return the number of objects that have been assigned numbers. */
  @Override
  public int size() {<FILL_FUNCTION_BODY>}

  @Override
  public boolean remove(Long o) {
    return false;
  }
}

    throw new RuntimeException("IntegerNumberer does not implement the size() method.");
  
<no_super_class>