/// <inheritdoc/> public override bool Equals(object obj) { if (!(obj is BaseNodeModel model)) { return(false); } if (!Handle.EqualsSafe(model.Handle)) { return(false); } if (SymbolicName != model.SymbolicName) { return(false); } if (!Utils.IsEqual(NodeId, model.NodeId)) { return(false); } if (NodeClass != model.NodeClass) { return(false); } if (!Utils.IsEqual(BrowseName, model.BrowseName)) { return(false); } if (!Utils.IsEqual(DisplayName, model.DisplayName)) { return(false); } if (!Utils.IsEqual(Description, model.Description)) { return(false); } if (WriteMask != model.WriteMask) { return(false); } if (UserWriteMask != model.UserWriteMask) { return(false); } if (AccessRestrictions != model.AccessRestrictions) { return(false); } if (RolePermissions.SetEqualsSafe(model.RolePermissions, Utils.IsEqual)) { return(false); } if (UserRolePermissions.SetEqualsSafe(model.UserRolePermissions, Utils.IsEqual)) { return(false); } return(true); }