public override IImmutableDictionary <string, ITypeSpecBuilder> Process(IReflector reflector, PropertyInfo property, ISpecificationBuilder collection, IImmutableDictionary <string, ITypeSpecBuilder> metamodel) { var capitalizedName = property.Name; var type = property.DeclaringType; var facets = new List <IFacet> { new PropertyAccessorFacet(property, collection) }; AddSetFacet(facets, property, collection); MethodHelpers.AddHideForSessionFacetNone(facets, collection); MethodHelpers.AddDisableFacetAlways(facets, collection); MethodHelpers.FindDefaultHideMethod(reflector, facets, property.DeclaringType, MethodType.Object, "PropertyDefault", collection, LoggerFactory); MethodHelpers.FindAndRemoveHideMethod(reflector, facets, type, MethodType.Object, capitalizedName, collection, LoggerFactory); FacetUtils.AddFacets(facets); return(metamodel); }