@Override
  public boolean equals(Object object) {
    if (object == null) {
      return false;
    } else if (object == this) {
      return true;
    } else if (object.getClass() == KerberosIdentityDescriptor.class) {
      KerberosIdentityDescriptor descriptor = (KerberosIdentityDescriptor) object;
      return super.equals(object) &&
          (
              (getReference() == null)
                  ? (descriptor.getReference() == null)
                  : getReference().equals(descriptor.getReference())
          ) &&
          (
              (getPrincipalDescriptor() == null)
                  ? (descriptor.getPrincipalDescriptor() == null)
                  : getPrincipalDescriptor().equals(descriptor.getPrincipalDescriptor())
          ) &&
          (
              (getKeytabDescriptor() == null)
                  ? (descriptor.getKeytabDescriptor() == null)
                  : getKeytabDescriptor().equals(descriptor.getKeytabDescriptor())
          ) &&
          (
              (getWhen() == null)
                  ? (descriptor.getWhen() == null)
                  : getWhen().equals(descriptor.getWhen())
          );
    } else {
      return false;
    }
  }
Explicitly set the path to this {@link KerberosIdentityDescriptor}.
<p>
This is useful when creating detached identity descriptors while dereferencing identity references
so that the path information is not lost.

@param path a path
ambari-server/src/main/java/org/apache/ambari/server/state/kerberos/KerberosIdentityDescriptor.java