@Override
 public int hashCode() {
   int result = super.hashCode();
   result = 31 * result + (enabled ? 1 : 0);
   result = 31 * result + coolDownTime;
   result = 31 * result + maxNumberOfKeysToRequest;
   result = 31 * result + (objectLookupFactory != null ? objectLookupFactory.hashCode() : 0);
   return result;
 }
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof DataPlacementConfiguration)) return false;
    if (!super.equals(o)) return false;

    DataPlacementConfiguration that = (DataPlacementConfiguration) o;

    return coolDownTime == that.coolDownTime
        && maxNumberOfKeysToRequest == that.maxNumberOfKeysToRequest
        && enabled == that.enabled
        && !(objectLookupFactory != null
            ? !objectLookupFactory.equals(that.objectLookupFactory)
            : that.objectLookupFactory != null);
  }