private static IEnumerable <PermissionType> FilterParentPermissions( UserToken userToken, EntityToken entityToken, IReadOnlyCollection <PermissionType> permissions) { if (!permissions.Any() || !ElementFacade.IsPerspectiveEntityToken(entityToken)) { return(permissions); } bool perspectiveVisible = UserPerspectiveFacade.PerspectiveVisible(userToken.Username, entityToken); if (perspectiveVisible) { return(permissions); } return(GlobalSettingsFacade.InheritGlobalReadPermissionOnHiddenPerspectives ? permissions.Where(p => p == PermissionType.Read) : Enumerable.Empty <PermissionType>()); }