@Override
  public boolean equals(Object object) {
    if (this == object) {
      return true;
    }

    if (object == null) {
      return false;
    }

    if (getClass() != object.getClass()) {
      return false;
    }

    DimensionItem other = (DimensionItem) object;

    if (dimension == null) {
      if (other.dimension != null) {
        return false;
      }
    } else if (!dimension.equals(other.dimension)) {
      return false;
    }

    if (item == null) {
      if (other.item != null) {
        return false;
      }
    } else if (!item.equals(other.item)) {
      return false;
    }

    return true;
  }