class AbstractCreature implements Creature {

  private final String name;
  private final Size size;
  private final Movement movement;
  private final Color color;
  private final Mass mass;

  /**
   * Constructor.
   */
  public AbstractCreature(String name, Size size, Movement movement, Color color, Mass mass) {
    this.name = name;
    this.size = size;
    this.movement = movement;
    this.color = color;
    this.mass = mass;
  }

  @Override
  public String toString() {<FILL_FUNCTION_BODY>}

  @Override
  public String getName() {
    return name;
  }

  @Override
  public Size getSize() {
    return size;
  }

  @Override
  public Movement getMovement() {
    return movement;
  }

  @Override
  public Color getColor() {
    return color;
  }

  @Override
  public Mass getMass() {
    return mass;
  }
}

    return String.format("%s [size=%s, movement=%s, color=%s, mass=%s]",
        name, size, movement, color, mass);
  
<no_super_class>