@Override
  public boolean equals(Object object) {
    if (object == null) {
      return false;
    } else if (object == this) {
      return true;
    } else if (object.getClass() == KerberosDescriptor.class) {
      KerberosDescriptor descriptor = (KerberosDescriptor) object;
      return super.equals(object) &&
          (
              (getProperties() == null)
                  ? (descriptor.getProperties() == null)
                  : getProperties().equals(descriptor.getProperties())
          ) &&
          (
              (getServices() == null)
                  ? (descriptor.getServices() == null)
                  : getServices().equals(descriptor.getServices())
          );
    } else {
      return false;
    }
  }
Sets the parent (or container) of this descriptor
<p/>
This implementation prevents the parent from being externally set by always throwing an
UnsupportedOperationException.

@param parent an AbstractKerberosDescriptor representing the parent (or container) of this
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/KerberosDescriptor.java