@Override
  public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }
    if (obj == null || getClass() != obj.getClass()) {
      return false;
    }

    Configuration other = (Configuration) obj;

    return Objects.equals(properties, other.properties) &&
      Objects.equals(attributes, other.attributes) &&
      Objects.equals(parentConfiguration, other.parentConfiguration);
  }
@return this configuration's properties and attributes as a pair of maps,
in order to be able to pass around more easily without polluting non-topology code with the Configuration object
ambari-server/src/main/java/org/apache/ambari/server/topology/Configuration.java