/// <summary>
        /// Returns true if the type, type name, scope and action are all same
        /// </summary>
        /// <param name="obj">Acl entry</param>
        /// <returns>true if AclEntries are same else false</returns>
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            AclEntry entry = obj as AclEntry;

            if (entry == null)
            {
                return(false);
            }
            return(Equals(entry));
        }
 /// <summary>
 /// Returns true if the type, type name, scope and action are all same
 /// </summary>
 /// <param name="entry">Acl entry</param>
 /// <returns>True if Acl entries are equal else false</returns>
 public bool Equals(AclEntry entry)
 {
     return(Type.Equals(entry.Type) && UserOrGroupId.Equals(entry.UserOrGroupId) &&
            Scope.Equals(entry.Scope) && Action.Equals(entry.Action));
 }