class LdapAttribute {

  @Override
  public boolean equals(final Object o)
  {
    if (o == this) {
      return true;
    }
    if (o instanceof LdapAttribute) {
      final LdapAttribute v = (LdapAttribute) o;
      return LdapUtils.areEqual(
               attributeName != null ? attributeName.toLowerCase() : null,
               v.attributeName != null ? v.attributeName.toLowerCase() : null) &&
             LdapUtils.areEqual(attributeValues, v.attributeValues);
    }
    return false;
  }

  public  LdapAttribute();
  public  LdapAttribute(final String type);
  public  LdapAttribute(final String type, final byte[]... value);
  public  LdapAttribute(final String type, final String... value);

}