private static List <IApplicationDisplayable> OnApplySecurityPolicy(ApplicationSchemaDefinition schema, IEnumerable <Role> userRoles)
        {
            var activeFieldRoles = RoleManager.ActiveFieldRoles();

            if (activeFieldRoles == null || activeFieldRoles.Count == 0)
            {
                return(schema.Displayables);
            }
            var resultingFields = new List <IApplicationDisplayable>();

            foreach (var field in schema.Displayables)
            {
                if (!activeFieldRoles.Contains(field.Role))
                {
                    resultingFields.Add(field);
                }
                else
                {
                    var enumerable = userRoles as IList <Role> ?? userRoles.ToList();
                    if (enumerable.Any(r => r.Name == field.Role))
                    {
                        resultingFields.Add(field);
                    }
                }
            }
            return(resultingFields);
        }