You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/10/05 11:01:52 UTC

[isis] 05/06: ISIS-1742: removes support for .layout.json files

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0dab247133a94b4ea3f4e6bdeb47083ec4e731ec
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 13:48:35 2017 +0300

    ISIS-1742: removes support for .layout.json files
---
 .../facets/ContributeeMemberFacetFactory.java      |  45 --
 .../isis/core/metamodel/facets/FacetFactory.java   |  68 +-
 .../PagedFacetForPagedAnnotationOnAction.java      |  34 -
 .../paged/PagedFacetOnActionFactory.java           |  67 --
 .../paged/PagedFacetPropertiesOnAction.java        |  35 -
 .../actions/layout/ActionLayoutFacetFactory.java   |  78 +--
 ...nPositionFacetOnActionFromLayoutProperties.java |  54 --
 ...arkPolicyFacetOnActionFromLayoutProperties.java |  52 --
 ...ssClassFaFacetOnActionFromLayoutProperties.java |  60 --
 .../CssClassFacetOnActionFromLayoutProperties.java |  46 --
 ...scribedAsFacetOnActionFromLayoutProperties.java |  51 --
 .../HiddenFacetOnActionFromLayoutProperties.java   |  39 --
 .../NamedFacetOnActionFromLayoutProperties.java    |  67 --
 .../NotContributedFacetForLayoutProperties.java    |  60 --
 ...omptStyleFacetOnActionFromLayoutProperties.java |  60 --
 .../layout/CollectionLayoutFacetFactory.java       |  40 +-
 ...ClassFacetOnCollectionFromLayoutProperties.java |  47 --
 ...tViewFacetOnCollectionFromLayoutProperties.java |  48 --
 ...bedAsFacetOnCollectionFromLayoutProperties.java |  51 --
 ...iddenFacetOnCollectionFromLayoutProperties.java |  39 --
 ...NamedFacetOnCollectionFromLayoutProperties.java |  66 --
 ...PagedFacetOnCollectionFromLayoutProperties.java |  49 --
 ...enderFacetOnCollectionFromLayoutProperties.java |  51 --
 ...tedByFacetOnCollectionFromLayoutProperties.java |  56 --
 .../PagedFacetForPagedAnnotationOnCollection.java  |  34 -
 .../paged/PagedFacetOnCollectionFactory.java       |  65 --
 .../paged/PagedFacetPropertiesOnCollection.java    |  36 --
 .../annotprop/CssClassFacetOnMemberAnnotation.java |  34 -
 .../annotprop/CssClassFacetOnMemberFactory.java    |  67 --
 .../CssClassFacetOnMemberFromProperties.java       |  36 --
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |  19 +-
 .../annotprop/DescribedAsFacetOnMemberFactory.java |  22 +-
 .../layout/DisabledFacetFromProperties.java        |  56 --
 ...DisabledFacetOnMemberFromPropertiesFactory.java |  56 --
 .../layout/HiddenFacetOnMemberFromProperties.java  |  51 --
 .../HiddenFacetOnMemberFromPropertiesFactory.java  |  57 --
 .../named/annotprop/NamedFacetOnMemberFactory.java |  63 --
 .../NamedFacetOnMemberFromProperties.java          |  44 --
 .../order/annotprop/MemberOrderFacetFactory.java   |  31 +-
 .../annotprop/RenderFacetOrResolveFactory.java     |  77 ---
 .../render/annotprop/RenderFacetProperties.java    |  40 --
 .../annotprop/MemberGroupLayoutFacetFactory.java   |   6 -
 .../MultiLineFacetOnPropertyFactory.java           |  74 ---
 .../MultiLineFacetOnPropertyFromProperties.java    |  43 --
 ...ssClassFacetOnPropertyFromLayoutProperties.java |  46 --
 ...ribedAsFacetOnPropertyFromLayoutProperties.java |  51 --
 .../HiddenFacetOnPropertyFromLayoutProperties.java |  39 --
 ...LabelAtFacetOnPropertyFromLayoutProperties.java |  55 --
 ...ltiLineFacetOnPropertyFromLayoutProperties.java |  49 --
 .../NamedFacetOnPropertyFromLayoutProperties.java  |  67 --
 ...ptStyleFacetOnPropertyFromLayoutProperties.java |  60 --
 .../propertylayout/PropertyLayoutFacetFactory.java | 130 ++--
 ...djustedFacetOnPropertyFromLayoutProperties.java |  49 --
 ...lLengthFacetOnPropertyFromLayoutProperties.java |  57 --
 ...hangingFacetOnPropertyFromLayoutProperties.java |  49 --
 ...TypicalLengthFacetOnPropertyFromProperties.java |  41 --
 .../TypicalLengthOnPropertyFacetFactory.java       |  64 --
 .../layoutmetadata/ActionLayoutFacetRepr.java      |  37 --
 .../core/metamodel/layoutmetadata/ActionRepr.java  |  52 --
 .../layoutmetadata/CollectionLayoutFacetRepr.java  |  35 -
 .../core/metamodel/layoutmetadata/ColumnRepr.java  |  25 -
 .../layoutmetadata/CssClassFaFacetRepr.java        |  23 -
 .../layoutmetadata/CssClassFacetRepr.java          |  22 -
 .../layoutmetadata/DefaultViewFacetRepr.java       |  24 -
 .../layoutmetadata/DescribedAsFacetRepr.java       |  22 -
 .../layoutmetadata/DisabledFacetRepr.java          |  26 -
 .../metamodel/layoutmetadata/HiddenFacetRepr.java  |  26 -
 .../metamodel/layoutmetadata/LayoutMetadata.java   |  40 --
 .../layoutmetadata/LayoutMetadataReader.java       |  52 --
 .../layoutmetadata/LayoutMetadataReader2.java      | 100 ---
 .../metamodel/layoutmetadata/MemberGroupRepr.java  |  23 -
 .../core/metamodel/layoutmetadata/MemberRepr.java  |  96 ---
 .../layoutmetadata/MultiLineFacetRepr.java         |  22 -
 .../metamodel/layoutmetadata/NamedFacetRepr.java   |  22 -
 .../metamodel/layoutmetadata/PagedFacetRepr.java   |  21 -
 .../layoutmetadata/PropertyLayoutFacetRepr.java    |  37 --
 .../metamodel/layoutmetadata/RenderFacetRepr.java  |  23 -
 .../layoutmetadata/TypicalLengthFacetRepr.java     |  23 -
 .../json/LayoutMetadataReaderFromJson.java         | 713 ---------------------
 .../LayoutMetadataReaderFromPropertyFile.java      |  41 --
 .../metamodel/specloader/ReflectorConstants.java   |   7 -
 .../metamodel/specloader/SpecificationLoader.java  |   9 +-
 .../specloader/facetprocessor/FacetProcessor.java  |  33 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java | 151 ++---
 .../specimpl/FacetedMethodsBuilderContext.java     |   7 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  13 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  18 +-
 .../isis/progmodels/dflt/JavaReflectorHelper.java  |   5 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |  23 -
 .../actions/ActionMethodsFacetFactoryTest.java     |  42 +-
 .../action/ActionAnnotationFacetFactoryTest.java   | 118 ++--
 ...nnotationFacetFactoryTest_actionInvocation.java |  12 +-
 ...icsFacetFallbackToNonIdempotentFactoryTest.java |   2 +-
 ...DisabledAnnotationOnActionFacetFactoryTest.java |  14 +-
 .../HiddenAnnotationOnActionFacetFactoryTest.java  |  14 +-
 .../PrototypeFacetAnnotationFactoryTest.java       |   2 +-
 ...kmarkableAnnotationFacetFactoryTest_action.java |   2 +-
 ...peFacetForExplorationAnnotationFactoryTest.java |   2 +-
 .../HomePageAnnotationFacetFactoryTest.java        |   2 +-
 ...tionLayoutAnnotationFacetFactoryJunit4Test.java |  18 +-
 ...nLayoutXmlLayoutAnnotationFacetFactoryTest.java |   8 +-
 .../NotContributedFacetAnnotationFactoryTest.java  |   6 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 ...NotInServiceMenuAnnotationFacetFactoryTest.java |   2 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 .../NotInServiceMenuMethodFacetFactoryTest.java    |   3 +-
 .../CollectionFieldMethodsFacetFactoryTest.java    |  54 +-
 .../CollectionAnnotationFacetFactoryTest.java      |  18 +-
 ...ollectionAnnotationFacetFactoryTest_typeOf.java |   6 +-
 ...bledAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...ddenAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...stedAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...etForCollectionLayoutAnnotationFactoryTest.java |   4 +-
 ...agedAnnotationOnCollectionFacetFactoryTest.java |  89 ---
 ...okmarkableAnnotationFacetFactoryTest_class.java |  12 +-
 ...FacetFromBoundedMarkerInterfaceFactoryTest.java |   2 +-
 .../callback/CreatedCallbackFacetFactoryTest.java  |   2 +-
 .../callback/DeleteCallbackFacetFactoryTest.java   |   4 +-
 ...oicesFacetFromBoundedAnnotationFactoryTest.java |   2 +-
 .../DomainObjectAnnotationFacetFactoryTest.java    |  92 +--
 .../ObjectTypeAnnotationFacetFactoryTest.java      |   2 +-
 .../DomainObjectLayoutFactoryTest.java             |  56 +-
 .../DomainServiceFacetAnnotationFactoryTest.java   |   2 +-
 .../DomainServiceLayoutFacetFactoryTest.java       |   8 +-
 .../AggregatedAnnotationFactoryTest.java           |   2 +-
 .../MemberOrderAnnotationFacetFactoryTest.java     |   6 +-
 .../PropertyMethodsFacetFactoryTest.java           |  58 +-
 ...sabledAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...HiddenAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 .../MandatoryAnnotationFacetFactoryTest.java       |   2 +-
 ...ecificationFacetFactoryProcessPropertyTest.java |   6 +-
 ...sistedAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 ...tionalAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  51 +-
 .../RegExAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |   5 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  11 +-
 ...ValidationDigitsAnnotationFacetFactoryTest.java |   2 +-
 .../TypicalLengthAnnotationFacetFactoryTest.java   |  54 --
 .../layoutmetadata/json/ExampleDomainObject.java   |  21 -
 .../LayoutMetadataReaderFromJsonTest_read.java     | 109 ----
 ...outMetadataReaderFromJsonTest_readMetadata.java | 113 ----
 .../SpecificationLoaderTestAbstract.java           |   5 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  10 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  16 +-
 ...JdoNotPersistentAnnotationFacetFactoryTest.java |   8 +-
 ...venJdoPrimaryKeyAnnotationFacetFactoryTest.java |  10 +-
 .../json/ExampleDomainObject.layout.json           | 136 ----
 .../json/ExampleDomainObject.layout.properties     | 106 ---
 .../IsisComponentProvider.java                     |  21 +-
 todo-deprecation-list.txt                          |   3 +
 151 files changed, 535 insertions(+), 5564 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
index 05a6719..d999878 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
@@ -19,17 +19,9 @@
 
 package org.apache.isis.core.metamodel.facets;
 
-import java.util.List;
 import java.util.Properties;
 
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.lang.PropertiesExtensions;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.specimpl.ContributeeMember;
 
 /**
@@ -40,48 +32,11 @@ public interface ContributeeMemberFacetFactory extends FacetFactory {
     class ProcessContributeeMemberContext extends AbstractProcessContext<ObjectMember>
             implements ProcessContextWithMetadataProperties<ObjectMember> {
         
-        private final Properties metadataProperties;
-
         public ProcessContributeeMemberContext(
-                final Properties metadataProperties, 
                 final ObjectMember facetHolder) {
             super(facetHolder);
-            this.metadataProperties = metadataProperties;
         }
 
-        public Properties metadataProperties(String subKey) {
-            
-            if(metadataProperties == null) {
-                return null;
-            }
-            Identifier identifier = getFacetHolder().getIdentifier();
-            final String id = identifier.getMemberName();
-            
-            // build list of keys to search for... 
-            final List<String> keys = Lists.newArrayList();
-            if(getFacetHolder() instanceof ObjectAction) {
-                // ... either "action.actionId" or "member.actionId()" 
-                keys.add("action." + id+"."+subKey);
-                keys.add("member." + id+"()"+"."+subKey);
-            } else if(getFacetHolder() instanceof OneToOneAssociation) {
-                // ... either "property.propertyId" or "member.propertyId"  
-                keys.add("property." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            } else if(getFacetHolder() instanceof OneToManyAssociation) {
-                // ... either "collection.collectionId" or "member.collectionId" 
-                keys.add("member." + id+"."+subKey);
-                keys.add("collection." + id+"."+subKey);
-            }
-
-            for (final String key : keys) {
-                final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, key);
-                if (!subsetProperties.isEmpty()) {
-                    return subsetProperties;
-                } 
-            }
-            
-            return null;
-        }
     }
     
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
index fbd03f5..7a73af3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
@@ -21,12 +21,7 @@ package org.apache.isis.core.metamodel.facets;
 
 import java.lang.reflect.Method;
 import java.util.List;
-import java.util.Properties;
 
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.lang.PropertiesExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -114,7 +109,6 @@ public interface FacetFactory {
     }
 
     public interface ProcessContextWithMetadataProperties<T extends FacetHolder> {
-        public Properties metadataProperties(String subKey);
         public T getFacetHolder();
     }
 
@@ -136,23 +130,13 @@ public interface FacetFactory {
 
     public static class ProcessClassContext extends AbstractProcessWithClsContext<FacetHolder> implements MethodRemover, ProcessContextWithMetadataProperties<FacetHolder> {
         private final MethodRemover methodRemover;
-        private final Properties metadataProperties;
 
         /**
          * For testing only.
          */
         public ProcessClassContext(final Class<?> cls, final MethodRemover methodRemover, final FacetHolder facetHolder) {
-            this(cls, null, methodRemover, facetHolder);
-        }
-
-        public ProcessClassContext(
-                final Class<?> cls, 
-                final Properties metadataProperties, 
-                final MethodRemover methodRemover, 
-                final FacetHolder facetHolder) {
             super(cls, facetHolder);
             this.methodRemover = methodRemover;
-            this.metadataProperties = metadataProperties;
         }
 
 
@@ -176,13 +160,6 @@ public interface FacetFactory {
             methodRemover.removeMethods(methods);
         }
 
-        public Properties metadataProperties(final String subKey) {
-            if(metadataProperties == null) {
-                return null;
-            }
-            final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, "class." + subKey);
-            return !subsetProperties.isEmpty() ? subsetProperties : null;
-        }
     }
 
     /**
@@ -197,58 +174,21 @@ public interface FacetFactory {
 
     public static class ProcessMethodContext extends AbstractProcessWithMethodContext<FacetedMethod> implements  ProcessContextWithMetadataProperties<FacetedMethod> {
         private final FeatureType featureType;
-        private final Properties metadataProperties;
-
 
         public ProcessMethodContext(
-                final Class<?> cls, 
-                final FeatureType featureType, 
-                final Properties metadataProperties, 
-                final Method method, 
-                final MethodRemover methodRemover, 
+                final Class<?> cls,
+                final FeatureType featureType,
+                final Method method,
+                final MethodRemover methodRemover,
                 final FacetedMethod facetedMethod) {
             super(cls, method, methodRemover, facetedMethod);
             this.featureType = featureType;
-            this.metadataProperties = metadataProperties;
         }
 
         public FeatureType getFeatureType() {
             return featureType;
         }
 
-        public Properties metadataProperties(final String subKey) {
-            
-            if(metadataProperties == null) {
-                return null;
-            }
-            final Identifier identifier = featureType.identifierFor(getCls(), getMethod());
-            final String id = identifier.getMemberName();
-            
-            // build list of keys to search for... 
-            final List<String> keys = Lists.newArrayList();
-            if(featureType == FeatureType.ACTION) {
-                // ... either "action.actionId" or "member.actionId()" 
-                keys.add("action." + id+"."+subKey);
-                keys.add("member." + id+"()"+"."+subKey);
-            } else if(featureType == FeatureType.PROPERTY) {
-                // ... either "property.propertyId" or "member.propertyId" 
-                keys.add("property." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            } else if(featureType == FeatureType.COLLECTION) {
-                // ... either "collection.collectionId" or "member.collectionId" 
-                keys.add("collection." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            }
-
-            for (final String key : keys) {
-                final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, key);
-                if (!subsetProperties.isEmpty()) {
-                    return subsetProperties;
-                } 
-            }
-            
-            return null;
-        }
     }
 
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java
deleted file mode 100644
index 2905676..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetForPagedAnnotationOnAction extends PagedFacetAbstract {
-
-    public PagedFacetForPagedAnnotationOnAction(FacetHolder holder, int value) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
deleted file mode 100644
index e954c43..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-/**
- * To support contributed collections.
- *
- * @deprecated
- */
-@Deprecated
-public class PagedFacetOnActionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory{
-
-
-    public PagedFacetOnActionFactory() {
-        super(FeatureType.ACTIONS_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        final PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    private PagedFacet createFromMetadataPropertiesIfPossible(final ProcessContextWithMetadataProperties<?> processMethodContext) {
-        final Properties properties = processMethodContext.metadataProperties("paged");
-        return properties != null ? new PagedFacetPropertiesOnAction(properties, processMethodContext.getFacetHolder()) : null;
-    }
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java
deleted file mode 100644
index d4be774..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetPropertiesOnAction extends PagedFacetAbstract {
-
-    public PagedFacetPropertiesOnAction(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static int valueFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("value"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
index 1f71b77..b38e583 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.core.metamodel.facets.actions.layout;
 
-import java.util.Properties;
-
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -53,78 +51,50 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
     public void process(final ProcessMethodContext processMethodContext) {
 
         final FacetHolder holder = processMethodContext.getFacetHolder();
-        Properties properties = processMethodContext.metadataProperties("actionLayout");
 
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
         final ActionLayout actionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), ActionLayout.class);
 
 
         // bookmarkable
-        BookmarkPolicyFacet bookmarkableFacet = BookmarkPolicyFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(bookmarkableFacet == null) {
-            bookmarkableFacet = BookmarkPolicyFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        BookmarkPolicyFacet bookmarkableFacet = BookmarkPolicyFacetForActionLayoutAnnotation
+                .create(actionLayout, holder);
         FacetUtil.addFacet(bookmarkableFacet);
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(cssClassFacet == null) {
-            cssClassFacet = CssClassFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        CssClassFacet cssClassFacet = CssClassFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(cssClassFacet);
 
 
         // cssClassFa
-        CssClassFaFacet cssClassFaFacet = CssClassFaFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(cssClassFaFacet == null) {
-            cssClassFaFacet = CssClassFaFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        CssClassFaFacet cssClassFaFacet = CssClassFaFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(cssClassFaFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(describedAsFacet == null) {
-            describedAsFacet = DescribedAsFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        DescribedAsFacet describedAsFacet = DescribedAsFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(hiddenFacet == null) {
-            hiddenFacet = HiddenFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        HiddenFacet hiddenFacet = HiddenFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(hiddenFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(namedFacet == null) {
-            namedFacet = NamedFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        NamedFacet namedFacet = NamedFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(namedFacet);
 
         // promptStyle
-        PromptStyleFacet promptStyleFacet = PromptStyleFacetOnActionFromLayoutProperties
-                .create(properties, holder);
-        if(promptStyleFacet == null) {
-            promptStyleFacet = PromptStyleFacetForActionLayoutAnnotation
-                    .create(actionLayout, getConfiguration(), holder);
-        }
+        PromptStyleFacet promptStyleFacet = PromptStyleFacetForActionLayoutAnnotation
+                .create(actionLayout, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
 
 
         // position
-        ActionPositionFacet actionPositionFacet = ActionPositionFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(actionPositionFacet == null) {
-            actionPositionFacet = ActionPositionFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        ActionPositionFacet actionPositionFacet = ActionPositionFacetForActionLayoutAnnotation
+                .create(actionLayout, holder);
         if(actionPositionFacet == null) {
             actionPositionFacet = new ActionPositionFacetFallback(holder);
         }
@@ -133,10 +103,8 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
 
         // contributing
         if (isContributingServiceOrMixinObject(processMethodContext)) {
-            NotContributedFacet notContributedFacet = NotContributedFacetForLayoutProperties.create(properties, holder);
-            if(notContributedFacet == null) {
-                notContributedFacet = NotContributedFacetForActionLayoutAnnotation.create(actionLayout, holder);
-            }
+            NotContributedFacet notContributedFacet = NotContributedFacetForActionLayoutAnnotation
+                    .create(actionLayout, holder);
             FacetUtil.addFacet(notContributedFacet);
         }
     }
@@ -170,35 +138,29 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
     public void process(ProcessContributeeMemberContext processMemberContext) {
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = processMemberContext.metadataProperties("actionLayout");
-        if (properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
-
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnActionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
         // cssClassFa
-        CssClassFaFacet cssClassFaFacet = CssClassFaFacetOnActionFromLayoutProperties.create(properties, holder);
+        CssClassFaFacet cssClassFaFacet = null;
         FacetUtil.addFacet(cssClassFaFacet);
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnActionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnActionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
         // named
-        NamedFacet namedFacet = NamedFacetOnActionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
         // position
-        ActionPositionFacet actionPositionFacet = ActionPositionFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(actionPositionFacet == null && ! holder.containsDoOpFacet(ActionPositionFacet.class)) {
+        ActionPositionFacet actionPositionFacet = null;
+        if(! holder.containsDoOpFacet(ActionPositionFacet.class)) {
             actionPositionFacet = new ActionPositionFacetFallback(holder);
         }
         FacetUtil.addFacet(actionPositionFacet);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index fcb0afb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
-import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetAbstract;
-
-public class ActionPositionFacetOnActionFromLayoutProperties extends ActionPositionFacetAbstract {
-
-    public static ActionPositionFacet create(Properties properties, FacetHolder holder) {
-        final ActionLayout.Position position = position(properties);
-        return position != null? new ActionPositionFacetOnActionFromLayoutProperties(position, holder): null;
-    }
-
-    private ActionPositionFacetOnActionFromLayoutProperties(ActionLayout.Position position, FacetHolder holder) {
-        super(position, holder);
-    }
-
-    private static ActionLayout.Position position(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String position = Strings.emptyToNull(properties.getProperty("position"));
-        if(position == null) {
-            position = Strings.emptyToNull(properties.getProperty("actionPosition"));
-        }
-        if(position == null) {
-            return null;
-        }
-        return ActionLayout.Position.valueOf(position);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index dc4dd6f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
-import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetAbstract;
-
-public class BookmarkPolicyFacetOnActionFromLayoutProperties extends BookmarkPolicyFacetAbstract {
-
-    public static BookmarkPolicyFacet create(Properties properties, FacetHolder holder) {
-        final BookmarkPolicy bookmarkPolicy = hidden(properties);
-        return bookmarkPolicy != null && bookmarkPolicy != BookmarkPolicy.NEVER ? new BookmarkPolicyFacetOnActionFromLayoutProperties(bookmarkPolicy, holder): null;
-    }
-
-    private static BookmarkPolicy hidden(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String bookmarking = Strings.emptyToNull(properties.getProperty("bookmarking"));
-        if(bookmarking == null) {
-            // alternate key
-            bookmarking = Strings.emptyToNull(properties.getProperty("bookmarkable"));
-            return null;
-        }
-        return BookmarkPolicy.valueOf(bookmarking);
-    }
-
-    private BookmarkPolicyFacetOnActionFromLayoutProperties(BookmarkPolicy bookmarkPolicy, FacetHolder holder) {
-        super(bookmarkPolicy, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index b39d1a3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
-
-public class CssClassFaFacetOnActionFromLayoutProperties extends CssClassFaFacetAbstract {
-
-    public static CssClassFaFacet create(final Properties properties, final FacetHolder holder) {
-        final String cssClassFa = cssClassFa(properties);
-        CssClassFaPosition position = CssClassFaPosition.from(cssClassFaPosition(properties));
-        return cssClassFa != null? new CssClassFaFacetOnActionFromLayoutProperties(cssClassFa, position, holder): null;
-    }
-
-    private CssClassFaFacetOnActionFromLayoutProperties(final String cssClass, final CssClassFaPosition position, final FacetHolder holder) {
-        super(cssClass, position, holder);
-    }
-
-    private static String cssClassFa(final Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClassFa"));
-    }
-
-    private static ActionLayout.CssClassFaPosition cssClassFaPosition(final Properties properties) {
-        if (properties == null) {
-            return null;
-        }
-        String cssClassFaPosition = Strings.emptyToNull(properties.getProperty("cssClassFaPosition"));
-        return cssClassFaPosition != null
-            ? ActionLayout.CssClassFaPosition.valueOf(cssClassFaPosition.toUpperCase())
-            : ActionLayout.CssClassFaPosition.LEFT;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index c2b9c31..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnActionFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnActionFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnActionFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClass"));
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 091ad0d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnActionFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnActionFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnActionFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index e16ce81..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnActionFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(Properties properties, FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnActionFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnActionFromLayoutProperties(Where where, FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 03e31b3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnActionFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String named = named(properties);
-        final boolean namedEscaped = namedEscaped(properties);
-        return named != null? new NamedFacetOnActionFromLayoutProperties(named, namedEscaped, holder): null;
-    }
-
-    private NamedFacetOnActionFromLayoutProperties(
-        final String named,
-        final boolean namedEscaped,
-        final FacetHolder holder) {
-
-        super(named, namedEscaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java
deleted file mode 100644
index b2029f2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.Contributed;
-import org.apache.isis.applib.annotation.NotContributed;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet;
-import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacetAbstract;
-
-
-public class NotContributedFacetForLayoutProperties extends NotContributedFacetAbstract {
-
-    public static NotContributedFacet create(final Properties properties, final FacetHolder holder) {
-        final Contributed contributed = contributing(properties);
-        if(contributed == null) {
-            return null;
-        }
-        return contributed != null? new NotContributedFacetForLayoutProperties(NotContributed.As.from(contributed), holder): null;
-    }
-
-    private NotContributedFacetForLayoutProperties(
-            final NotContributed.As as,
-            final FacetHolder holder) {
-        super(as, holder);
-    }
-
-
-    private static Contributed contributing(final Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String contributing = Strings.emptyToNull(properties.getProperty("contributing"));
-        if(contributing == null) {
-            // alternate key
-            contributing = Strings.emptyToNull(properties.getProperty("contributed"));
-        }
-        return contributing != null? Contributed.valueOf(contributing): null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 8f70d99..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
-
-public class PromptStyleFacetOnActionFromLayoutProperties extends PromptStyleFacetAbstract {
-
-    private final PromptStyle promptStyle;
-
-    public static PromptStyleFacet create(Properties properties, FacetHolder holder) {
-        final PromptStyle promptStyle = promptStyle(properties);
-        return promptStyle != null? new PromptStyleFacetOnActionFromLayoutProperties(promptStyle, holder): null;
-    }
-
-    private PromptStyleFacetOnActionFromLayoutProperties(PromptStyle promptStyle, FacetHolder holder) {
-        super(holder);
-        this.promptStyle = promptStyle;
-    }
-
-    private static PromptStyle promptStyle(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String propertyPromptStyle = Strings.emptyToNull(properties.getProperty("promptStyle"));
-        if(propertyPromptStyle == null) {
-            return null;
-        }
-        return PromptStyle.valueOf(propertyPromptStyle);
-    }
-
-    @Override
-    public PromptStyle value() {
-        return promptStyle;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
index 7c2c1e3..b0b0fe0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
@@ -48,16 +48,12 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
         final FacetHolder holder = processMethodContext.getFacetHolder();
 
-        Properties properties = processMethodContext.metadataProperties("collectionLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
+        Properties properties = null;
         final CollectionLayout collectionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), CollectionLayout.class);
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         if(cssClassFacet == null) {
             cssClassFacet = CssClassFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -65,7 +61,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         if(describedAsFacet == null) {
             describedAsFacet = DescribedAsFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -73,7 +69,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         if(hiddenFacet == null) {
             hiddenFacet = HiddenFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -81,7 +77,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // defaultView
-        DefaultViewFacet defaultViewFacet = DefaultViewFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DefaultViewFacet defaultViewFacet = null;
         if(defaultViewFacet == null) {
             defaultViewFacet = DefaultViewFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -89,7 +85,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
         
 
         // named
-        NamedFacet namedFacet = NamedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         if(namedFacet == null) {
             namedFacet = NamedFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -97,7 +93,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // paged
-        PagedFacet pagedFacet = PagedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        PagedFacet pagedFacet = null;
         if(pagedFacet == null) {
             pagedFacet = PagedFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -105,7 +101,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // sortedBy
-        SortedByFacet sortedByFacet = SortedByFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        SortedByFacet sortedByFacet = null;
         if(sortedByFacet == null) {
             sortedByFacet = SortedByFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -118,45 +114,41 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = processMemberContext.metadataProperties("collectionLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
+        Properties properties = null;
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
 
         // paged
-        PagedFacet pagedFacet = PagedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        PagedFacet pagedFacet = null;
         FacetUtil.addFacet(pagedFacet);
 
 
         // renderType
-        RenderFacet renderFacet = RenderFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        RenderFacet renderFacet = null;
         FacetUtil.addFacet(renderFacet);
 
 
         // sortedBy
-        SortedByFacet sortedByFacet = SortedByFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        SortedByFacet sortedByFacet = null;
         FacetUtil.addFacet(sortedByFacet);
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 6286aa5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnCollectionFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnCollectionFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnCollectionFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        final String cssClass = properties.getProperty("cssClass");
-        return Strings.emptyToNull(cssClass);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 288f190..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetAbstract;
-
-public class DefaultViewFacetOnCollectionFromLayoutProperties extends DefaultViewFacetAbstract {
-
-    private DefaultViewFacetOnCollectionFromLayoutProperties(String defaultView, FacetHolder holder) {
-        super(defaultView, holder);
-    }
-
-    public static DefaultViewFacet create(Properties properties, FacetHolder holder) {
-        final String defaultView = defaultView(properties);
-        return defaultView != null ? new DefaultViewFacetOnCollectionFromLayoutProperties(defaultView, holder) : null;
-    }
-
-    public static String defaultView(Properties properties) {
-        if (properties == null) {
-            return null;
-        }
-
-        return Strings.emptyToNull(properties.getProperty("defaultView"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index daed529..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnCollectionFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnCollectionFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnCollectionFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 4c3b7a1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnCollectionFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(Properties properties, FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnCollectionFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnCollectionFromLayoutProperties(Where where, FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 80b123f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnCollectionFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String named = named(properties);
-        boolean namedEscaped = namedEscaped(properties);
-        return named != null? new NamedFacetOnCollectionFromLayoutProperties(named, namedEscaped, holder): null;
-    }
-
-    private NamedFacetOnCollectionFromLayoutProperties(
-        final String named,
-        final boolean escaped,
-        final FacetHolder holder) {
-
-        super(named, escaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(final Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 3803ad5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetOnCollectionFromLayoutProperties extends PagedFacetAbstract {
-
-    public static PagedFacet create(Properties properties, FacetHolder holder) {
-        final int paged = paged(properties);
-        return paged != -1? new PagedFacetOnCollectionFromLayoutProperties(paged, holder): null;
-    }
-
-    private PagedFacetOnCollectionFromLayoutProperties(int paged, FacetHolder holder) {
-        super(paged, holder);
-    }
-
-    private static int paged(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String paged = Strings.emptyToNull(properties.getProperty("paged"));
-        if(paged == null) {
-            return -1;
-        }
-        return Integer.parseInt(paged);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index bc3105d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacetAbstract;
-
-public class RenderFacetOnCollectionFromLayoutProperties extends RenderFacetAbstract {
-
-    public static RenderFacet create(Properties properties, FacetHolder holder) {
-        final RenderType renderType = render(properties);
-        return renderType != null? new RenderFacetOnCollectionFromLayoutProperties(renderType, holder): null;
-    }
-
-    private RenderFacetOnCollectionFromLayoutProperties(RenderType renderType, FacetHolder holder) {
-        super(renderType, holder);
-    }
-
-    private static RenderType render(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String renderType = Strings.emptyToNull(properties.getProperty("render"));
-        if(renderType == null) {
-            return null;
-        }
-        return RenderType.valueOf(renderType);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 9c658bd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Comparator;
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.collections.sortedby.SortedByFacet;
-import org.apache.isis.core.metamodel.facets.collections.sortedby.SortedByFacetAbstract;
-
-public class SortedByFacetOnCollectionFromLayoutProperties extends SortedByFacetAbstract {
-
-    public static SortedByFacet create(Properties properties, FacetHolder holder) {
-        final Class sortedBy = sortedBy(properties);
-        return sortedBy != null? new SortedByFacetOnCollectionFromLayoutProperties(sortedBy, holder): null;
-    }
-
-    private SortedByFacetOnCollectionFromLayoutProperties(Class<? extends Comparator<?>> sortedBy, FacetHolder holder) {
-        super(sortedBy, holder);
-    }
-
-    private static Class<?> sortedBy(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String sortedBy = Strings.emptyToNull(properties.getProperty("sortedBy"));
-        if (sortedBy == null) {
-            return null;
-        }
-        final Class<?> sortedByClass = ClassUtil.forName(sortedBy);
-        if(sortedByClass == Comparator.class) {
-            return null;
-        }
-        return sortedByClass;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java
deleted file mode 100644
index 020bb22..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetForPagedAnnotationOnCollection extends PagedFacetAbstract {
-
-    public PagedFacetForPagedAnnotationOnCollection(FacetHolder holder, int value) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
deleted file mode 100644
index 962c5f0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory {
-
-
-
-    public PagedFacetOnCollectionFactory() {
-        super(FeatureType.COLLECTIONS_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        final PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    private PagedFacet createFromMetadataPropertiesIfPossible(final ProcessContextWithMetadataProperties<?> processMethodContext) {
-        final Properties properties = processMethodContext.metadataProperties("paged");
-        return properties != null ? new PagedFacetPropertiesOnCollection(properties, processMethodContext.getFacetHolder()) : null;
-    }
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java
deleted file mode 100644
index 35a29a8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetPropertiesOnCollection extends PagedFacetAbstract {
-
-    public PagedFacetPropertiesOnCollection(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static int valueFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("value"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java
deleted file mode 100644
index 64b4aa1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class CssClassFacetOnMemberAnnotation extends CssClassFacetAbstract {
-
-    public CssClassFacetOnMemberAnnotation(final String value, final FacetHolder holder) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
deleted file mode 100644
index 5b5bcb1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-
-public class CssClassFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-    public CssClassFacetOnMemberFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        CssClassFacet cssClassFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(cssClassFacet);
-    }
-
-    
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        CssClassFacet cssClassFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-
-        // no-op if null
-        FacetUtil.addFacet(cssClassFacet);
-    }
-
-    private static CssClassFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("cssClass");
-        return properties != null ? new CssClassFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-
-
-}
-
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java
deleted file mode 100644
index 04e1d97..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnMemberFromProperties extends CssClassFacetAbstract {
-
-    public CssClassFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static String valueFrom(Properties properties) {
-        return properties.getProperty("value");
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
index 60224a9..8fd1508 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
 import java.lang.reflect.Method;
 import java.util.Map;
-import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -30,7 +29,6 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
@@ -40,17 +38,13 @@ import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPositi
 
 public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
     
-
     public CssClassFaFacetOnMemberFactory() {
         super(FeatureType.ACTIONS_ONLY);
     }
 
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
-        CssClassFaFacet cssClassFaFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if (cssClassFaFacet == null) {
-            cssClassFaFacet = createFromConfiguredRegexIfPossible(processMethodContext);
-        }
+        CssClassFaFacet cssClassFaFacet = createFromConfiguredRegexIfPossible(processMethodContext);
 
         // no-op if null
         FacetUtil.addFacet(cssClassFaFacet);
@@ -58,19 +52,8 @@ public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract impleme
 
     @Override
     public void process(ProcessContributeeMemberContext processMemberContext) {
-        CssClassFaFacet cssClassFaFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(cssClassFaFacet);
     }
 
-    private static CssClassFaFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-
-        final FacetHolder holder = pcwmp.getFacetHolder();
-
-        final Properties properties = pcwmp.metadataProperties("cssClassFa");
-        return properties != null ? new CssClassFaFacetOnMemberFromProperties(properties, holder) : null;
-    }
 
     // region > faIconFromPattern
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
index 68310b6..51b824d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
@@ -19,9 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.members.describedas.annotprop;
 
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
@@ -39,11 +36,7 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
 
-        DescribedAsFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        
-        if (facet == null) {
-            facet = createFromAnnotationOnReturnTypeIfPossible(processMethodContext);
-        }
+        DescribedAsFacet facet = createFromAnnotationOnReturnTypeIfPossible(processMethodContext);
 
         // no-op if null
         FacetUtil.addFacet(facet);
@@ -51,21 +44,10 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
 
     @Override
     public void process(ProcessContributeeMemberContext processMemberContext) {
-        DescribedAsFacet facet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-    
-    private static DescribedAsFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("describedAs");
-        return properties != null ? new DescribedAsFacetOnMemberFromProperties(properties, holder) : null;
     }
     
 
+
     private DescribedAsFacet createFromAnnotationOnReturnTypeIfPossible(final ProcessMethodContext processMethodContext) {
         final Class<?> returnType = processMethodContext.getMethod().getReturnType();
         final DescribedAsFacet returnTypeDescribedAsFacet = getDescribedAsFacet(returnType);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java
deleted file mode 100644
index 63f4efa..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.disabled.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractImpl;
-
-public class DisabledFacetFromProperties extends DisabledFacetAbstractImpl {
-
-    public DisabledFacetFromProperties(final When when, Where where, String reason, final FacetHolder holder) {
-        super(when, where, reason, holder);
-    }
-
-    public DisabledFacetFromProperties(Properties properties, FacetHolder holder) {
-        this(disabledWhenFrom(properties), disabledWhereFrom(properties), disabledReasonFrom(properties), holder);
-    }
-
-    private static When disabledWhenFrom(Properties properties) {
-        String value = properties.getProperty("when");
-        // same default as in Disabled.when()
-        return value != null? When.valueOf(value): When.ALWAYS;
-    }
-
-    private static Where disabledWhereFrom(Properties properties) {
-        String value = properties.getProperty("where");
-        // same default as in Disabled.where()
-        return value != null? Where.valueOf(value): Where.ANYWHERE;
-    }
-    
-    private static String disabledReasonFrom(Properties properties) {
-        String value = properties.getProperty("reason");
-        // same default as in Disabled.reason()
-        return value != null? value: "";
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java
deleted file mode 100644
index 4a24719..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.disabled.layout;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-
-public class DisabledFacetOnMemberFromPropertiesFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-    public DisabledFacetOnMemberFromPropertiesFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        FacetUtil.addFacet(createFromMetadataPropertiesIfPossible(processMethodContext));
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        DisabledFacet disabledFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        FacetUtil.addFacet(disabledFacet);
-    }
-
-    private static DisabledFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("disabled");
-        return properties != null ? new DisabledFacetFromProperties(properties, holder) : null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java
deleted file mode 100644
index f9f2099..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.hidden.layout;
-
-import java.util.Properties;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstractImpl;
-
-public class HiddenFacetOnMemberFromProperties extends HiddenFacetAbstractImpl {
-
-    public HiddenFacetOnMemberFromProperties(final When when, Where where, final FacetHolder holder) {
-        super(HiddenFacetOnMemberFromProperties.class, when, where, holder);
-    }
-
-    public HiddenFacetOnMemberFromProperties(Properties properties, FacetHolder holder) {
-        super(HiddenFacetOnMemberFromProperties.class, hiddenWhenFrom(properties), hiddenWhereFrom(properties), holder);
-    }
-
-    private static When hiddenWhenFrom(Properties properties) {
-        String value = properties.getProperty("when");
-        // same default as in Hidden.when()
-        return value != null? When.valueOf(value): When.ALWAYS;
-    }
-
-    private static Where hiddenWhereFrom(Properties properties) {
-        String value = properties.getProperty("where");
-        // same default as in Hidden.where()
-        return value != null? Where.valueOf(value): Where.ANYWHERE;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java
deleted file mode 100644
index 74e5a68..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.hidden.layout;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-
-public class HiddenFacetOnMemberFromPropertiesFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-    public HiddenFacetOnMemberFromPropertiesFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        FacetUtil.addFacet(createFromMetadataPropertiesIfPossible(processMethodContext));
-    }
-
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        HiddenFacet hiddenFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(hiddenFacet);
-    }
-    
-    private static HiddenFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("hidden");
-        return properties != null ? new HiddenFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
deleted file mode 100644
index cd797ca..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.named.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-
-public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-
-    public NamedFacetOnMemberFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        FacetUtil.addFacet(namedFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(namedFacet);
-    }
-    
-    private static NamedFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("named");
-        return properties != null ? new NamedFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
deleted file mode 100644
index 20682e0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.named.annotprop;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnMemberFromProperties extends NamedFacetAbstract {
-
-    public NamedFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), namedEscapedFrom(properties), holder);
-    }
-
-    private static String valueFrom(Properties properties) {
-        return properties.getProperty("value");
-    }
-
-    private static boolean namedEscapedFrom(final Properties properties) {
-        boolean escaped = true;
-        String namedEscapedValue = properties.getProperty("namedEscaped");
-        if("false".equalsIgnoreCase(namedEscapedValue)) {
-            escaped = false;
-        }
-        return escaped;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
index 8c8376c..207c5d2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
@@ -19,11 +19,8 @@
 
 package org.apache.isis.core.metamodel.facets.members.order.annotprop;
 
-import java.util.Properties;
-
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.Annotations;
@@ -39,11 +36,8 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
 
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
-        
-        MemberOrderFacet memberOrderFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(memberOrderFacet == null) {
-            memberOrderFacet = createFromAnnotationIfPossible(processMethodContext);
-        }
+
+        MemberOrderFacet memberOrderFacet = createFromAnnotationIfPossible(processMethodContext);
 
         // no-op if facet is null
         FacetUtil.addFacet(memberOrderFacet);
@@ -51,28 +45,7 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
 
     @Override
     public void process(final ProcessContributeeMemberContext processMemberContext) {
-        final MemberOrderFacet memberOrderFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
 
-        // no-op if facet is null
-        FacetUtil.addFacet(memberOrderFacet);
-    }
-
-    private MemberOrderFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final MemberOrderFacet memberOrderFacet;
-        final Properties properties = pcwmp.metadataProperties("memberOrder");
-        if(properties != null) {
-            memberOrderFacet = new MemberOrderFacetProperties(
-                    properties,
-                    servicesInjector.lookupService(TranslationService.class),
-                    holder);
-        } else {
-            memberOrderFacet = null;
-        }
-        return memberOrderFacet;
     }
 
     private MemberOrderFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
deleted file mode 100644
index 394c123..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.render.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-
-public class RenderFacetOrResolveFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner {
-
-
-    public RenderFacetOrResolveFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        RenderFacet renderFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(renderFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        RenderFacet renderFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(renderFacet);
-    }
-
-    private static RenderFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("render");
-        return properties != null ? new RenderFacetProperties(properties, holder) : null;
-    }
-
-
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-
-    }
-
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java
deleted file mode 100644
index 30b1188..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.render.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacetAbstract;
-
-public class RenderFacetProperties extends RenderFacetAbstract {
-
-    public RenderFacetProperties(final Properties properties, FacetHolder holder) {
-        super(renderTypeFrom(properties), holder);
-    }
-
-    private static RenderType renderTypeFrom(Properties properties) {
-        String value = properties.getProperty("value");
-        // same default as in RenderType.value()
-        return value != null? RenderType.valueOf(value): RenderType.EAGERLY;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
index a4c37e2..cf21a5c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.object.membergroups.annotprop;
 
 import java.util.List;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.MemberGroupLayout;
 import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans;
@@ -59,11 +58,6 @@ public class MemberGroupLayoutFacetFactory extends FacetFactoryAbstract implemen
         
         final Class<?> cls = processClassContext.getCls();
 
-        final Properties properties = processClassContext.metadataProperties("memberGroupLayout");
-        if(properties != null) {
-            return new MemberGroupLayoutFacetProperties(properties, holder);
-        }
-        
         final MemberGroupLayout mglAnnot = Annotations.getAnnotation(cls, MemberGroupLayout.class);
         if (mglAnnot != null) {
             return new MemberGroupLayoutFacetAnnotation(mglAnnot, holder);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java
deleted file mode 100644
index 50bedf2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacetInferredFromMultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-
-public class MultiLineFacetOnPropertyFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-    public MultiLineFacetOnPropertyFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        MultiLineFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-
-        // no-op if null
-        inferLabelAtFacet(facet);
-    }
-
-    private static void inferLabelAtFacet(MultiLineFacet facet) {
-        if (facet == null) {
-            return;
-        }
-        FacetUtil.addFacet(new LabelAtFacetInferredFromMultiLineFacet(facet.getFacetHolder()));
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        
-    }
-    
-    private static MultiLineFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-
-        final FacetHolder holder = pcwmp.getFacetHolder();
-
-        final Properties properties = pcwmp.metadataProperties("multiLine");
-        return properties != null ? new MultiLineFacetOnPropertyFromProperties(properties, holder) : null;
-    }
-
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
deleted file mode 100644
index 503d9ed..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyFromProperties extends MultiLineFacetAbstract {
-
-    public MultiLineFacetOnPropertyFromProperties(Properties properties, FacetHolder holder) {
-        super(numberOfLinesFrom(properties), preventWrappingFrom(properties), holder);
-    }
-
-    private static int numberOfLinesFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("numberOfLines"));
-    }
-
-    private static boolean preventWrappingFrom(Properties properties) {
-        final String property = properties.getProperty("preventWrapping");
-        // same defaults as @MultiLine annotation
-        return property == null || Boolean.parseBoolean(property);
-    }
-    
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 21b1a07..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnPropertyFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnPropertyFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnPropertyFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClass"));
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 0410c49..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnPropertyFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnPropertyFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnPropertyFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 8cddc94..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnPropertyFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(final Properties properties, final FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnPropertyFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnPropertyFromLayoutProperties(final Where where, final FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 4f57d26..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacetAbstract;
-
-public class LabelAtFacetOnPropertyFromLayoutProperties extends LabelAtFacetAbstract {
-
-    public static LabelAtFacet create(Properties properties, FacetHolder holder) {
-        final LabelPosition labelPosition = labelPosition(properties);
-        return labelPosition != null? new LabelAtFacetOnPropertyFromLayoutProperties(labelPosition, holder): null;
-    }
-
-    private LabelAtFacetOnPropertyFromLayoutProperties(LabelPosition labelPosition, FacetHolder holder) {
-        super(labelPosition, holder);
-    }
-
-    private static LabelPosition labelPosition(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String labelPosition = Strings.emptyToNull(properties.getProperty("labelPosition"));
-        if(labelPosition == null) {
-            // alternative key (cos I keep forgetting which to use).
-            labelPosition = Strings.emptyToNull(properties.getProperty("labelAt"));
-        }
-        if(labelPosition == null) {
-            return null;
-        }
-        return LabelPosition.valueOf(labelPosition);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 3508afc..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyFromLayoutProperties extends MultiLineFacetAbstract {
-
-    public static MultiLineFacet create(Properties properties, FacetHolder holder) {
-        final int multiLine = multiLine(properties);
-        return multiLine > 1? new MultiLineFacetOnPropertyFromLayoutProperties(multiLine, holder): null;
-    }
-
-    private MultiLineFacetOnPropertyFromLayoutProperties(int multiLine, FacetHolder holder) {
-        super(multiLine, false, holder);
-    }
-
-    private static int multiLine(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String multiLine = Strings.emptyToNull(properties.getProperty("multiLine"));
-        if(multiLine == null) {
-            return -1;
-        }
-        return Integer.parseInt(multiLine);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index dabe28a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnPropertyFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String value = named(properties);
-        final boolean escaped = namedEscaped(properties);
-        return value != null? new NamedFacetOnPropertyFromLayoutProperties(value, escaped, holder): null;
-    }
-
-    private NamedFacetOnPropertyFromLayoutProperties(
-        final String named,
-        final boolean escaped,
-        final FacetHolder holder) {
-
-        super(named, escaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(final Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 014cde2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
-
-public class PromptStyleFacetOnPropertyFromLayoutProperties extends PromptStyleFacetAbstract {
-
-    private final PromptStyle promptStyle;
-
-    public static PromptStyleFacet create(Properties properties, FacetHolder holder) {
-        final PromptStyle promptStyle = promptStyle(properties);
-        return promptStyle != null? new PromptStyleFacetOnPropertyFromLayoutProperties(promptStyle, holder): null;
-    }
-
-    private PromptStyleFacetOnPropertyFromLayoutProperties(PromptStyle promptStyle, FacetHolder holder) {
-        super(holder);
-        this.promptStyle = promptStyle;
-    }
-
-    private static PromptStyle promptStyle(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String propertyPromptStyle = Strings.emptyToNull(properties.getProperty("promptStyle"));
-        if (propertyPromptStyle == null) {
-            return null;
-        }
-        return PromptStyle.valueOf(propertyPromptStyle);
-    }
-
-    @Override
-    public PromptStyle value() {
-        return promptStyle;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index 229a7c4..65ab4e4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.properties.propertylayout;
 
 import java.lang.reflect.Method;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -51,128 +50,90 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     public void process(final ProcessMethodContext processMethodContext) {
 
         final FacetHolder holder = facetHolderFrom(processMethodContext);
-        final Properties properties = metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = propertyLayoutAnnotationFrom(processMethodContext);
 
-        processCssClass(holder, properties, propertyLayout);
+        processCssClass(holder, propertyLayout);
 
-        processDescribedAs(holder, properties, propertyLayout);
+        processDescribedAs(holder, propertyLayout);
 
-        processPromptStyle(holder, properties, propertyLayout);
+        processPromptStyle(holder, propertyLayout);
 
-        processHidden(holder, properties, propertyLayout);
+        processHidden(holder, propertyLayout);
 
-        processLabelAt(holder, properties, propertyLayout);
+        processLabelAt(holder, propertyLayout);
 
-        processMultiLine(holder, properties, propertyLayout);
+        processMultiLine(holder, propertyLayout);
 
-        processNamed(holder, properties, propertyLayout);
+        processNamed(holder, propertyLayout);
 
-        processRenderedAdjusted(holder, properties, propertyLayout);
+        processRenderedAdjusted(holder, propertyLayout);
 
-        processTypicalLength(holder, properties, propertyLayout);
+        processTypicalLength(holder, propertyLayout);
 
-        processUnchanging(holder, properties, propertyLayout);
+        processUnchanging(holder, propertyLayout);
     }
 
-    void processCssClass(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        CssClassFacet cssClassFacet = CssClassFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(cssClassFacet == null) {
-            cssClassFacet = CssClassFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processCssClass(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        CssClassFacet cssClassFacet = CssClassFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(cssClassFacet);
     }
 
     void processDescribedAs(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(describedAsFacet == null) {
-            describedAsFacet = DescribedAsFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        DescribedAsFacet describedAsFacet = DescribedAsFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(describedAsFacet);
     }
 
-    void processPromptStyle(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        PromptStyleFacet promptStyleFacet = PromptStyleFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(promptStyleFacet == null) {
-            promptStyleFacet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(propertyLayout, getConfiguration(), holder);
-        }
+    void processPromptStyle(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        PromptStyleFacet promptStyleFacet = PromptStyleFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
     }
 
-    void processHidden(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        HiddenFacet hiddenFacet = HiddenFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(hiddenFacet == null) {
-            hiddenFacet = HiddenFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processHidden(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        HiddenFacet hiddenFacet = HiddenFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(hiddenFacet);
     }
 
     void processLabelAt(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        LabelAtFacet labelAtFacet = LabelAtFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(labelAtFacet == null) {
-            labelAtFacet = LabelAtFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        LabelAtFacet labelAtFacet = LabelAtFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(labelAtFacet);
     }
 
-    void processMultiLine(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        MultiLineFacet multiLineFacet = MultiLineFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(multiLineFacet == null) {
-            multiLineFacet = MultiLineFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processMultiLine(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        MultiLineFacet multiLineFacet = MultiLineFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(multiLineFacet);
     }
 
-    void processNamed(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        NamedFacet namedFacet = NamedFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(namedFacet == null) {
-            namedFacet = NamedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processNamed(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        NamedFacet namedFacet = NamedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(namedFacet);
     }
 
     void processRenderedAdjusted(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(renderedAdjustedFacet == null) {
-            renderedAdjustedFacet = RenderedAdjustedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, holder);
         FacetUtil.addFacet(renderedAdjustedFacet);
     }
 
     void processTypicalLength(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(typicalLengthFacet == null) {
-            typicalLengthFacet = TypicalLengthFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, holder);
         FacetUtil.addFacet(typicalLengthFacet);
     }
 
     void processUnchanging(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        UnchangingFacet unchangingFacet = UnchangingFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(unchangingFacet == null) {
-            unchangingFacet = UnchangingFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        UnchangingFacet unchangingFacet = UnchangingFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(unchangingFacet);
     }
 
@@ -180,58 +141,48 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     public void process(ProcessContributeeMemberContext processMemberContext) {
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = metadataPropertiesFrom(processMemberContext);
-
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
 
         // labelAt
-        LabelAtFacet labelAtFacet = LabelAtFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        LabelAtFacet labelAtFacet = null;
         FacetUtil.addFacet(labelAtFacet);
 
 
         // multiLine
-        MultiLineFacet multiLineFacet = MultiLineFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        MultiLineFacet multiLineFacet = null;
         FacetUtil.addFacet(multiLineFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
 
         // renderedAsDayBefore
-        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        RenderedAdjustedFacet renderedAdjustedFacet = null;
         FacetUtil.addFacet(renderedAdjustedFacet);
 
 
         // typicalLength
-        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        TypicalLengthFacet typicalLengthFacet = null;
         FacetUtil.addFacet(typicalLengthFacet);
 
     }
 
-    Properties metadataPropertiesFrom(final ProcessMethodContext processMethodContext) {
-        Properties properties = processMethodContext.metadataProperties("propertyLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
-        return properties;
-    }
 
     FacetedMethod facetHolderFrom(final ProcessMethodContext processMethodContext) {
         return processMethodContext.getFacetHolder();
@@ -243,13 +194,4 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     }
 
 
-    Properties metadataPropertiesFrom(final ProcessContributeeMemberContext processMemberContext) {
-        Properties properties = processMemberContext.metadataProperties("propertyLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
-        return properties;
-    }
-
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 65e79af..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.renderedadjusted.RenderedAdjustedFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.renderedadjusted.RenderedAdjustedFacetAbstract;
-
-public class RenderedAdjustedFacetOnPropertyFromLayoutProperties extends RenderedAdjustedFacetAbstract {
-
-    public static final int ADJUST_BY = -1;
-
-    public static RenderedAdjustedFacet create(Properties properties, FacetHolder holder) {
-        final boolean renderedAsDayBefore = renderedAsDayBefore(properties);
-        return renderedAsDayBefore ? new RenderedAdjustedFacetOnPropertyFromLayoutProperties(holder): null;
-    }
-
-    private RenderedAdjustedFacetOnPropertyFromLayoutProperties(FacetHolder holder) {
-        super(ADJUST_BY, holder);
-    }
-
-    private static boolean renderedAsDayBefore(Properties properties) {
-        if(properties == null) {
-            return false;
-        }
-        String renderedAsDayBefore = Strings.emptyToNull(properties.getProperty("renderedAsDayBefore"));
-        return renderedAsDayBefore != null && Boolean.parseBoolean(renderedAsDayBefore);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index a1b58eb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyFromLayoutProperties extends TypicalLengthFacetAbstract {
-
-    private final int typicalLength;
-
-    public static TypicalLengthFacet create(Properties properties, FacetHolder holder) {
-        final int typicalLength = typicalLength(properties);
-        return typicalLength != -1? new TypicalLengthFacetOnPropertyFromLayoutProperties(typicalLength, holder): null;
-    }
-
-    private TypicalLengthFacetOnPropertyFromLayoutProperties(int typicalLength, FacetHolder holder) {
-        super(holder, Derivation.NOT_DERIVED);
-        this.typicalLength = typicalLength;
-    }
-
-    private static int typicalLength(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String typicalLength = Strings.emptyToNull(properties.getProperty("typicalLength"));
-        if(typicalLength == null) {
-            return -1;
-        }
-        return Integer.parseInt(typicalLength);
-    }
-
-    @Override
-    public int value() {
-        return typicalLength;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 1e80ef1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.renderunchanged.UnchangingFacet;
-import org.apache.isis.core.metamodel.facets.properties.renderunchanged.UnchangingFacetAbstract;
-
-public class UnchangingFacetOnPropertyFromLayoutProperties extends UnchangingFacetAbstract {
-
-    public static UnchangingFacet create(Properties properties, FacetHolder holder) {
-        final boolean isUnchanging = unchanging(properties);
-        return new UnchangingFacetOnPropertyFromLayoutProperties(isUnchanging, holder);
-    }
-
-    private UnchangingFacetOnPropertyFromLayoutProperties(final boolean isUnchanging, FacetHolder holder) {
-        super(isUnchanging, holder);
-    }
-
-    private static boolean unchanging(Properties properties) {
-        if(properties == null) {
-            return false;
-        }
-        String unchanging = Strings.emptyToNull(properties.getProperty("unchanging"));
-        return unchanging != null && Boolean.parseBoolean(unchanging);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
deleted file mode 100644
index f991c2a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.typicallen.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyFromProperties extends TypicalLengthFacetAbstract {
-
-    private final int value;
-
-    public TypicalLengthFacetOnPropertyFromProperties(final Properties properties, final FacetHolder holder) {
-        super(holder, Derivation.NOT_DERIVED);
-        this.value = Integer.parseInt(properties.getProperty("value"));
-    }
-
-    @Override
-    public int value() {
-        return value;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
deleted file mode 100644
index 166970b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.typicallen.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-
-public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory  {
-
-
-    public TypicalLengthOnPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        TypicalLengthFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        TypicalLengthFacet facet = createFromMetadataPropertiesIfPossible(processMemberContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-
-    private static TypicalLengthFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("typicalLength");
-        return properties != null ? new TypicalLengthFacetOnPropertyFromProperties(properties, holder) : null;
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
deleted file mode 100644
index cb6d134..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Contributed;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.Where;
-
-public class ActionLayoutFacetRepr {
-    public BookmarkPolicy bookmarking;
-    public String cssClass;
-    public String cssClassFa;
-    public String cssClassFaPosition;
-    public String describedAs;
-    public Where hidden;
-    public String named;
-    public boolean namedEscaped = true;
-    public PromptStyle promptStyle;
-    public ActionLayout.Position position;
-    public Contributed contributed;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
deleted file mode 100644
index 7b419fa..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-/**
- * Representation of actions associated with members (properties or collections).
- * 
- * <p>
- * Free-standing (non-associated) actions are represented simply by {@link MemberRepr}.
- */
-public class ActionRepr {
-
-    public ActionLayoutFacetRepr actionLayout;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public CssClassFacetRepr cssClass;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public CssClassFaFacetRepr cssClassFa;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public DescribedAsFacetRepr describedAs;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public NamedFacetRepr named;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
deleted file mode 100644
index 645662c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.annotation.Where;
-
-public class CollectionLayoutFacetRepr {
-
-    public String cssClass;
-    public String describedAs;
-    public String defaultView;
-    public Where hidden;
-    public String named;
-    public boolean namedEscaped = true;
-    public int paged;
-    public RenderType render;
-    public String sortedBy;
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java
deleted file mode 100644
index eb2a5c7..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class ColumnRepr {
-    public int span;
-    public Map<String,MemberGroupRepr> memberGroups;
-    public Map<String,MemberRepr> collections;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java
deleted file mode 100644
index f45f6c5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class CssClassFaFacetRepr {
-    public String value;
-    public String position;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java
deleted file mode 100644
index b7871bb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class CssClassFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
deleted file mode 100644
index e904b00..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public class DefaultViewFacetRepr {
-    public String value;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java
deleted file mode 100644
index 2a18657..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class DescribedAsFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java
deleted file mode 100644
index 891817f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-
-public class DisabledFacetRepr {
-    public When when;
-    public Where where;
-    public String reason;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java
deleted file mode 100644
index 5e4058b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-
-public class HiddenFacetRepr {
-    public When when;
-    public Where where;
-    public String reason;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java
deleted file mode 100644
index bf64450..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.List;
-import java.util.Map;
-
-public class LayoutMetadata {
-    private List<ColumnRepr> columns;
-    
-    private Map<String,ActionRepr> actions;
-    
-    public List<ColumnRepr> getColumns() {
-        return columns;
-    }
-    public void setColumns(List<ColumnRepr> columns) {
-        this.columns = columns;
-        
-    }
-    public Map<String,ActionRepr> getActions() {
-        return actions;
-    }
-    public void setActions(Map<String,ActionRepr> actions) {
-        this.actions = actions;
-    }
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java
deleted file mode 100644
index 9443e14..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public interface LayoutMetadataReader {
-
-    class ReaderException extends IsisException {
-
-        private static final long serialVersionUID = 1L;
-
-        public ReaderException() {
-            super();
-        }
-
-        public ReaderException(String message, Throwable cause) {
-            super(message, cause);
-        }
-
-        public ReaderException(String message) {
-            super(message);
-        }
-
-        public ReaderException(Throwable cause) {
-            super(cause);
-        }
-
-        @Override
-        public Throwable fillInStackTrace() {
-            return null;
-        }
-    }
-
-    Properties asProperties(Class<?> domainClass) throws ReaderException;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java
deleted file mode 100644
index 0df1fea..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public interface LayoutMetadataReader2 extends LayoutMetadataReader {
-
-    class Support {
-
-        public static Support entitiesOnly() {
-            return new Support(false,false,false,false,false,false,false);
-        }
-
-        private final boolean interfaces;
-        private final boolean anonymous;
-        private final boolean synthetic;
-        private final boolean array;
-        private final boolean enums;
-        private final boolean applibValueTypes;
-        private final boolean services;
-
-        public Support(final boolean interfaces, final boolean anonymous, final boolean synthetic, final boolean array, final boolean enums, final boolean applibValueTypes, final boolean services) {
-            this.interfaces = interfaces;
-            this.anonymous = anonymous;
-            this.synthetic = synthetic;
-            this.array = array;
-            this.enums = enums;
-            this.applibValueTypes = applibValueTypes;
-            this.services = services;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for interface types.
-         */
-        public boolean interfaces() {
-            return interfaces;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for anonymous classes.
-         */
-        public boolean anonymous() {
-            return anonymous;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for synthetic types.
-         */
-        public boolean synthetic() {
-            return synthetic;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for arrays.
-         */
-        public boolean array() {
-            return array;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for enums.
-         */
-        public boolean enums() {
-            return enums;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for applib value types.
-         */
-        public boolean applibValueTypes() {
-            return applibValueTypes;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for domain services.
-         */
-        public boolean services() {
-            return services;
-        }
-    }
-
-    /**
-     * What types of classes are supported by this implementation.
-     * @return
-     */
-    Support support();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java
deleted file mode 100644
index 494da4d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class MemberGroupRepr {
-    public Map<String,MemberRepr> members;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
deleted file mode 100644
index e8dd6cb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-/**
- * Representation of properties, collections or free-standing actions.
- * 
- * <p>
- * Actions associated with members are represented by {@link ActionRepr}. 
- */
-public class MemberRepr {
-    
-    public Map<String,ActionRepr> actions;
-
-    public PropertyLayoutFacetRepr propertyLayout;
-    public CollectionLayoutFacetRepr collectionLayout;
-
-
-    // properties or collections
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public CssClassFacetRepr cssClass;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public DescribedAsFacetRepr describedAs;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public NamedFacetRepr named;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public DisabledFacetRepr disabled;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public HiddenFacetRepr hidden;
-
-
-    // properties
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout}
-     */
-    @Deprecated
-    public MultiLineFacetRepr multiLine;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout}
-     */
-    @Deprecated
-    public TypicalLengthFacetRepr typicalLength;
-
-    // collections
-
-    /**
-     * @deprecated - use instead {@link #collectionLayout}
-     */
-    @Deprecated
-    public PagedFacetRepr paged;
-
-    /**
-     * @deprecated - use instead {@link #collectionLayout}
-     */
-    @Deprecated
-    public RenderFacetRepr render;
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java
deleted file mode 100644
index 7db9c41..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class MultiLineFacetRepr {
-    public int numberOfLines;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
deleted file mode 100644
index cac1c84..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class NamedFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java
deleted file mode 100644
index 26a49f8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public class PagedFacetRepr {
-    public int value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
deleted file mode 100644
index 479692d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.Where;
-
-public class PropertyLayoutFacetRepr {
-
-    public String cssClass;
-    public String describedAs;
-    public Where hidden;
-    public LabelPosition labelPosition;
-    public int multiLine;
-    public String named;
-    public boolean namedEscaped = true;
-    public PromptStyle promptStyle;
-    public boolean renderedAsDayBefore;
-    public int typicalLength;
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java
deleted file mode 100644
index ca2e77d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.RenderType;
-
-public class RenderFacetRepr {
-    public RenderType value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java
deleted file mode 100644
index a7d0fa0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class TypicalLengthFacetRepr {
-    public int value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
deleted file mode 100644
index 7d333f0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
+++ /dev/null
@@ -1,713 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans;
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractImpl;
-import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.facets.object.membergroups.MemberGroupLayoutFacet;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberOrderFacetComparator;
-import org.apache.isis.core.metamodel.layoutmetadata.ActionLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.ActionRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CollectionLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.ColumnRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CssClassFaFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CssClassFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DefaultViewFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DescribedAsFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DisabledFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.HiddenFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
-import org.apache.isis.core.metamodel.layoutmetadata.MemberGroupRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.MemberRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.MultiLineFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.NamedFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.PagedFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.PropertyLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.RenderFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.TypicalLengthFacetRepr;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.Hint;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecifications;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public class LayoutMetadataReaderFromJson implements LayoutMetadataReader2, ServicesInjectorAware {
-
-    private static final Logger LOG = LoggerFactory.getLogger(LayoutMetadataReaderFromJson.class);
-
-    @Override
-    public Support support() {
-        return Support.entitiesOnly();
-    }
-
-    public Properties asProperties(final Class<?> domainClass) {
-        final LayoutMetadata metadata = readMetadata(domainClass);
-        if(metadata == null) {
-            return null;
-        }
-
-        if(metadata.getColumns() == null || metadata.getColumns().size() != 4) {
-            throw new ReaderException("JSON metadata must have precisely 4 columns (prop/prop/prop/coll)");
-        }
-
-        final Properties props = new Properties();
-        
-        setMemberGroupLayoutColumnSpans(metadata, props);
-        setMemberGroupLayoutColumnLists(metadata, 0, "left", props);
-        setMemberGroupLayoutColumnLists(metadata, 1, "middle", props);
-        setMemberGroupLayoutColumnLists(metadata, 2, "right", props);
-        
-        final int[] memberSeq = {0};
-        setProperties(metadata, props, memberSeq);
-        setCollections(metadata, props, memberSeq);
-        setFreestandingActions(metadata, props);
-
-        return props;
-    }
-
-    private static void setMemberGroupLayoutColumnSpans(final LayoutMetadata metadata, final Properties props) {
-        final List<ColumnRepr> columns = metadata.getColumns();
-        final String columnSpansStr = Joiner.on(",").join(Iterables.transform(columns, new Function<ColumnRepr,Integer>(){
-            @Override
-            public Integer apply(final ColumnRepr input) {
-                return input.span;
-            }}));
-        props.setProperty("class.memberGroupLayout.columnSpans", columnSpansStr);
-    }
-
-    private static void setMemberGroupLayoutColumnLists(final LayoutMetadata metadata, final int colIdx, final String propkey, final Properties props) {
-        final ColumnRepr column = metadata.getColumns().get(colIdx);
-        final Map<String, MemberGroupRepr> memberGroups = column.memberGroups;
-        final String val = memberGroups != null ? Joiner.on(",").join(memberGroups.keySet()) : "";
-        props.setProperty("class.memberGroupLayout." + propkey, val);
-    }
-
-    private static void setProperties(final LayoutMetadata metadata, final Properties props, final int[] memberSeq) {
-        final List<ColumnRepr> columns = metadata.getColumns();
-        for (final ColumnRepr columnRepr : columns) {
-            final Map<String, MemberGroupRepr> memberGroups = columnRepr.memberGroups;
-            
-            if(memberGroups == null) {
-                continue;
-            }
-            
-            for (final String memberGroupName : memberGroups.keySet()) {
-                final MemberGroupRepr memberGroup = memberGroups.get(memberGroupName);
-                final Map<String, MemberRepr> members = memberGroup.members;
-                
-                if(members == null) {
-                    continue;
-                }
-                setMembersAndAssociatedActions(props, memberGroupName, members, memberSeq);
-            }
-        }
-    }
-
-    private static void setCollections(final LayoutMetadata metadata, final Properties props, final int[] memberSeq) {
-        final ColumnRepr columnRepr = metadata.getColumns().get(3);
-        final Map<String, MemberRepr> collections = columnRepr.collections;
-        setMembersAndAssociatedActions(props, null, collections, memberSeq);
-    }
-
-    private static void setMembersAndAssociatedActions(final Properties props, final String memberGroupName, final Map<String, MemberRepr> members, final int[] memberSeq) {
-        for(final String memberName: members.keySet()) {
-            props.setProperty("member." + memberName + ".memberOrder.sequence", ""+ ++memberSeq[0]);
-            if(memberGroupName != null) {
-                props.setProperty("member." + memberName + ".memberOrder.name", memberGroupName);
-            }
-            
-            final MemberRepr memberRepr = members.get(memberName);
-
-            // actions
-
-            final Map<String, ActionRepr> actions = memberRepr.actions;
-            if(actions != null) {
-                int actSeq = 0;
-                for(final String actionName: actions.keySet()) {
-                    final ActionRepr actionRepr = actions.get(actionName);
-                    final String nameKey = "action." + actionName + ".memberOrder.name";
-                    props.setProperty(nameKey, memberName);
-                    setRemainingActionProperties(props, "action", actionName, actionRepr, ++actSeq);
-                }
-            }
-
-            // propertyLayout
-
-            final PropertyLayoutFacetRepr propertyLayout = memberRepr.propertyLayout;
-            if(propertyLayout!= null) {
-                if(propertyLayout.cssClass != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.cssClass", propertyLayout.cssClass);
-                }
-                if(propertyLayout.describedAs != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.describedAs", propertyLayout.describedAs);
-                }
-                if(propertyLayout.hidden != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.hidden", ""+propertyLayout.hidden);
-                }
-                if(propertyLayout.labelPosition != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.labelPosition", ""+propertyLayout.labelPosition);
-                }
-                if(propertyLayout.multiLine > 1) {
-                    props.setProperty("member." + memberName + ".propertyLayout.multiLine", "" + propertyLayout.multiLine);
-                }
-                if(propertyLayout.named != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.named", propertyLayout.named);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".propertyLayout.namedEscaped", ""+propertyLayout.namedEscaped);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".propertyLayout.renderedAsDayBefore", "" + propertyLayout.renderedAsDayBefore);
-                }
-                if(propertyLayout.typicalLength > 0) {
-                    props.setProperty("member." + memberName + ".propertyLayout.typicalLength", "" + propertyLayout.typicalLength);
-                }
-            }
-
-            // collectionLayout
-            final CollectionLayoutFacetRepr collectionLayout = memberRepr.collectionLayout;
-            if(collectionLayout!= null) {
-                if(collectionLayout.cssClass != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.cssClass", collectionLayout.cssClass);
-                }
-                if(collectionLayout.describedAs != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.describedAs", collectionLayout.describedAs);
-                }
-                if(collectionLayout.defaultView != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.defaultView", collectionLayout.defaultView);
-                }
-                if(collectionLayout.hidden != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.hidden", ""+collectionLayout.hidden);
-                }
-                if(collectionLayout.named != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.named", collectionLayout.named);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".collectionLayout.namedEscaped", ""+collectionLayout.namedEscaped);
-                }
-                if(collectionLayout.paged > 0) {
-                    props.setProperty("member." + memberName + ".collectionLayout.paged", "" + collectionLayout.paged);
-                }
-                if(collectionLayout.render != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.render", ""+collectionLayout.render);
-                }
-                if(collectionLayout.sortedBy != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.sortedBy", collectionLayout.sortedBy);
-                }
-            }
-
-
-            // deprecated - properties & collections
-
-            final CssClassFacetRepr cssClass = memberRepr.cssClass;
-            if(cssClass!= null) {
-                props.setProperty("member." + memberName + ".cssClass.value", cssClass.value);
-            }
-            final DescribedAsFacetRepr describedAs = memberRepr.describedAs;
-            if(describedAs!= null) {
-                props.setProperty("member." + memberName + ".describedAs.value", describedAs.value);
-            }
-
-            final DisabledFacetRepr disabled = memberRepr.disabled;
-            if(disabled != null) {
-                // same default as in Disabled.when()
-                final When disabledWhen = disabled.when!=null?disabled.when: When.ALWAYS;
-                props.setProperty("member." + memberName + ".disabled.when", disabledWhen.toString());
-                // same default as in Disabled.where()
-                final Where disabledWhere = disabled.where!=null?disabled.where: Where.ANYWHERE;
-                props.setProperty("member." + memberName + ".disabled.where", disabledWhere.toString());
-                // same default as in Disabled.reason()
-                final String disabledReason = disabled.reason!=null?disabled.reason: "";
-                props.setProperty("member." + memberName + ".disabled.reason", disabledReason);
-            }
-            final HiddenFacetRepr hidden = memberRepr.hidden;
-            if(hidden != null) {
-                // same default as in Hidden.when()
-                final When hiddenWhen = hidden.when!=null?hidden.when: When.ALWAYS;
-                props.setProperty("member." + memberName + ".hidden.when", hiddenWhen.toString());
-                // same default as in Hidden.where()
-                final Where hiddenWhere = hidden.where!=null?hidden.where: Where.ANYWHERE;
-                props.setProperty("member." + memberName + ".hidden.where", hiddenWhere.toString());
-            }
-
-            final NamedFacetRepr named = memberRepr.named;
-            if(named != null) {
-                props.setProperty("member." + memberName + ".named.value", named.value);
-            }
-
-            // deprecated - properties
-
-            final MultiLineFacetRepr multiLine = memberRepr.multiLine;
-            if(multiLine!= null) {
-                props.setProperty("member." + memberName + ".multiLine.numberOfLines", ""+multiLine.numberOfLines);
-            }
-            final TypicalLengthFacetRepr typicalLength = memberRepr.typicalLength;
-            if(typicalLength!= null) {
-                props.setProperty("member." + memberName + ".typicalLength.value", ""+typicalLength.value);
-            }
-
-            // deprecated - collections
-
-            final PagedFacetRepr paged = memberRepr.paged;
-            if(paged != null) {
-                props.setProperty("member." + memberName + ".paged.value", ""+paged.value);
-            }
-            final RenderFacetRepr render = memberRepr.render;
-            if(render != null) {
-                // same default as in Render.Type.value()
-                final RenderType renderType = render.value!=null?render.value: RenderType.EAGERLY;
-                props.setProperty("member." + memberName + ".render.value", renderType.toString());
-            }
-            
-        }
-    }
-
-    private static void setFreestandingActions(final LayoutMetadata metadata, final Properties props) {
-        if(metadata.getActions() == null) {
-            return;
-        }
-        int xeq=0;
-        final Map<String, ActionRepr> actions = metadata.getActions();
-        for (final String actionName : actions.keySet()) {
-            final ActionRepr actionRepr = actions.get(actionName);
-            setRemainingActionProperties(props, "member", actionName, actionRepr, ++xeq);
-        }
-    }
-
-    private static void setRemainingActionProperties(
-            final Properties props,
-            final String prefix,
-            final String actionNameOrig,
-            final ActionRepr actionRepr,
-            final int seq) {
-
-        final String actionName = actionNameOrig + ("action".equals(prefix)?"":"()");
-        props.setProperty(prefix + "." + actionName + ".memberOrder.sequence", ""+ seq);
-
-        final ActionLayoutFacetRepr actionLayout = actionRepr.actionLayout;
-        if(actionLayout != null) {
-            if(actionLayout.bookmarking != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.bookmarking", ""+actionLayout.bookmarking);
-            }
-            if(actionLayout.cssClass != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClass", actionLayout.cssClass);
-            }
-            if(actionLayout.cssClassFa != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClassFa", actionLayout.cssClassFa);
-            }
-            if(actionLayout.cssClassFaPosition != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClassFaPosition", actionLayout.cssClassFaPosition);
-            }
-            if(actionLayout.describedAs != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.describedAs", actionLayout.describedAs);
-            }
-            if(actionLayout.hidden != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.hidden", ""+actionLayout.hidden);
-            }
-            if(actionLayout.named != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.named", actionLayout.named);
-            }
-            //
-            {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.namedEscaped", ""+actionLayout.namedEscaped);
-            }
-            if(actionLayout.position != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.position", ""+actionLayout.position);
-            }
-        }
-
-
-        // deprecated
-
-        final CssClassFacetRepr cssClass = actionRepr.cssClass;
-        if(cssClass!= null) {
-            props.setProperty(prefix +"." + actionName + ".cssClass.value", cssClass.value);
-        }
-        final CssClassFaFacetRepr cssClassFa = actionRepr.cssClassFa;
-        if(cssClassFa != null) {
-            props.setProperty(prefix +"." + actionName + ".cssClassFa.value", cssClassFa.value);
-            props.setProperty(prefix +"." + actionName + ".cssClassFa.position", cssClassFa.position);
-        }
-        final DescribedAsFacetRepr describedAs = actionRepr.describedAs;
-        if(describedAs!= null) {
-            props.setProperty(prefix +"." + actionName + ".describedAs.value", describedAs.value);
-        }
-        final NamedFacetRepr actionNamed = actionRepr.named;
-        if(actionNamed != null) {
-            props.setProperty(prefix +"." + actionName + ".named.value", actionNamed.value);
-        }
-    }
-
-    public LayoutMetadata asLayoutMetadata(final Class<?> domainClass)  {
-        return readMetadata(domainClass);
-    }
-
-    // //////////////////////////////////////
-
-    private final Set<Class<?>> blacklisted = Sets.newConcurrentHashSet();
-
-    private LayoutMetadata readMetadata(final Class<?> domainClass) {
-        final String content;
-
-        if(blacklisted.contains(domainClass)) {
-            return null;
-        }
-
-        try {
-            final GridService gridService = getGridService();
-            if(gridService.existsFor(domainClass)) {
-                blacklisted.add(domainClass);
-                return null;
-            }
-        } catch (IllegalArgumentException ex) {
-            // ignore
-        }
-
-
-        final String resourceName = domainClass.getSimpleName() + ".layout.json";
-        try {
-            content = ClassExtensions.resourceContentOf(domainClass, resourceName);
-        } catch (IOException | IllegalArgumentException ex) {
-
-            blacklisted.add(domainClass);
-            final String message = String .format(
-                    "Failed to locate file %s (relative to %s.class); ex: %s)",
-                    resourceName, domainClass.getName(), ex.getMessage());
-
-            LOG.debug(message);
-            return null;
-        }
-
-        try {
-            return readMetadata(content);
-        } catch(Exception ex) {
-
-            // note that we don't blacklist if the file exists but couldn't be parsed;
-            // the developer might fix so we will want to retry.
-            final String message = "Failed to parse " + domainClass.getName() + ".layout.json file (" + ex.getMessage() + ")";
-            LOG.warn(message);
-
-            return null;
-        }
-    }
-
-    LayoutMetadata readMetadata(final String content) {
-        final Gson gson = new GsonBuilder().create();
-        return gson.fromJson(content, LayoutMetadata.class);
-    }
-
-    // //////////////////////////////////////
-
-    private final static MemberOrderFacetComparator memberOrderFacetComparator = new MemberOrderFacetComparator(false);
-
-    /**
-     * not API
-     */
-    public String asJson(final ObjectSpecification objectSpec) {
-        final LayoutMetadata metadata = new LayoutMetadata();
-        metadata.setColumns(Lists.<ColumnRepr>newArrayList());
-        
-        final MemberGroupLayoutFacet mglf = objectSpec.getFacet(MemberGroupLayoutFacet.class);
-        final ColumnSpans columnSpans = mglf.getColumnSpans();
-        
-        final Set<String> actionIdsForAssociations = Sets.newTreeSet();
-        
-        ColumnRepr columnRepr;
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getLeft());
-        updateColumnMemberGroups(objectSpec, Hint.LEFT, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getMiddle());
-        updateColumnMemberGroups(objectSpec, Hint.MIDDLE, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getRight());
-        updateColumnMemberGroups(objectSpec, Hint.RIGHT, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getCollections());
-        updateCollectionColumnRepr(objectSpec, columnRepr, actionIdsForAssociations);
-
-        addActions(objectSpec, metadata, actionIdsForAssociations);
-        
-        final Gson gson = new GsonBuilder().setPrettyPrinting().create();
-        return gson.toJson(metadata);
-    }
-
-    private static void updateColumnMemberGroups(final ObjectSpecification objectSpec, final Hint hint, final ColumnRepr columnRepr, final Set<String> actionIdsForAssociations) {
-        final List<ObjectAssociation> objectAssociations = propertiesOf(objectSpec);
-        final Map<String, List<ObjectAssociation>> associationsByGroup = ObjectAssociation.Util.groupByMemberOrderName(objectAssociations
-        );
-        
-        final List<String> groupNames = ObjectSpecifications.orderByMemberGroups(objectSpec, associationsByGroup.keySet(), hint);
-        
-        columnRepr.memberGroups = Maps.newLinkedHashMap();
-        for (final String groupName : groupNames) {
-            final MemberGroupRepr memberGroupRepr = new MemberGroupRepr();
-            columnRepr.memberGroups.put(groupName, memberGroupRepr);
-            final List<ObjectAssociation> associationsInGroup = associationsByGroup.get(groupName);
-            memberGroupRepr.members = Maps.newLinkedHashMap();
-            if(associationsInGroup == null) {
-                continue;
-            }
-            for (final ObjectAssociation assoc : associationsInGroup) {
-                final MemberRepr memberRepr = newMemberRepr(objectSpec, assoc, actionIdsForAssociations);
-                memberGroupRepr.members.put(assoc.getId(), memberRepr);
-            }
-        }
-    }
-    private static void addActions(final ObjectSpecification objectSpec, final LayoutMetadata metadata, final Set<String> actionIdsForAssociations) {
-        final Map<String, ActionRepr> actions = Maps.newLinkedHashMap();
-        final List<ObjectAction> actionsOf = actionsOf(objectSpec, actionIdsForAssociations);
-        for(final ObjectAction action: actionsOf) {
-            actions.put(action.getId(), newActionRepr(objectSpec, action));
-        }
-        metadata.setActions(actions);
-    }
-
-    private static ActionRepr newActionRepr(final ObjectSpecification objectSpec, final ObjectAction action) {
-        final ActionRepr actionRepr = new ActionRepr();
-        
-        final CssClassFacet cssClassFacet = action.getFacet(CssClassFacet.class);
-        if(cssClassFacet != null && !cssClassFacet.isNoop()) {
-            final CssClassFacetRepr cssClassFacetRepr = new CssClassFacetRepr();
-            cssClassFacetRepr.value = cssClassFacet.cssClass(null);
-            actionRepr.cssClass = cssClassFacetRepr;
-        }
-        final DescribedAsFacet describedAsFacet = action.getFacet(DescribedAsFacet.class);
-        if(describedAsFacet != null && !describedAsFacet.isNoop() && !Strings.isNullOrEmpty(describedAsFacet.value())) {
-            final DescribedAsFacetRepr describedAsFacetRepr = new DescribedAsFacetRepr();
-            describedAsFacetRepr.value = describedAsFacet.value();
-            actionRepr.describedAs = describedAsFacetRepr;
-        }
-        final NamedFacet namedFacet = action.getFacet(NamedFacet.class);
-        if(namedFacet != null && !namedFacet.isNoop()) {
-            final NamedFacetRepr namedFacetRepr = new NamedFacetRepr();
-            namedFacetRepr.value = namedFacet.value();
-            actionRepr.named = namedFacetRepr;
-        }
-        
-        return actionRepr;
-    }
-
-    private static void updateCollectionColumnRepr(final ObjectSpecification objectSpec, final ColumnRepr columnRepr, final Set<String> actionIdsOfAssociations) {
-        final List<ObjectAssociation> objectAssociations = collectionsOf(objectSpec);
-        columnRepr.collections = Maps.newLinkedHashMap();
-        for(final ObjectAssociation assoc: objectAssociations) {
-            final MemberRepr memberRepr = newMemberRepr(objectSpec, assoc, actionIdsOfAssociations);
-            columnRepr.collections.put(assoc.getId(), memberRepr);
-        }
-    }
-
-
-    private static MemberRepr newMemberRepr(final ObjectSpecification objectSpec, final ObjectAssociation assoc, final Set<String> actionIdsForAssociations) {
-        final MemberRepr memberRepr = new MemberRepr();
-
-        final CssClassFacet cssClassFacet = assoc.getFacet(CssClassFacet.class);
-        if(cssClassFacet != null && !cssClassFacet.isNoop()) {
-            final CssClassFacetRepr cssClassFacetRepr = new CssClassFacetRepr();
-            cssClassFacetRepr.value = cssClassFacet.cssClass(null);
-            memberRepr.cssClass = cssClassFacetRepr;
-        }
-        final DescribedAsFacet describedAsFacet = assoc.getFacet(DescribedAsFacet.class);
-        if(describedAsFacet != null && !describedAsFacet.isNoop() && !Strings.isNullOrEmpty(describedAsFacet.value())) {
-            final DescribedAsFacetRepr describedAsFacetRepr = new DescribedAsFacetRepr();
-            describedAsFacetRepr.value = describedAsFacet.value();
-            memberRepr.describedAs = describedAsFacetRepr;
-        }
-        final DefaultViewFacet defaultViewFacet = assoc.getFacet(DefaultViewFacet.class);
-        if(defaultViewFacet != null && !defaultViewFacet.isNoop() && !Strings.isNullOrEmpty(defaultViewFacet.value())) {
-            final DefaultViewFacetRepr defaultViewFacetRepr = new DefaultViewFacetRepr();
-            defaultViewFacetRepr.value = describedAsFacet.value();
-        }
-        final NamedFacet namedFacet = assoc.getFacet(NamedFacet.class);
-        if(namedFacet != null && !namedFacet.isNoop()) {
-            final NamedFacetRepr namedFacetRepr = new NamedFacetRepr();
-            namedFacetRepr.value = namedFacet.value();
-            memberRepr.named = namedFacetRepr;
-        }
-        final DisabledFacet disabledFacet = assoc.getFacet(DisabledFacet.class);
-        if(disabledFacet != null && !disabledFacet.isNoop()) {
-            final DisabledFacetRepr disabledFacetRepr = new DisabledFacetRepr();
-            if(disabledFacet instanceof DisabledFacetAbstractImpl) {
-                final DisabledFacetAbstractImpl disabledFacetImpl = (DisabledFacetAbstractImpl) disabledFacet;
-                disabledFacetRepr.reason = Strings.emptyToNull(disabledFacetImpl.getReason());
-            }
-            disabledFacetRepr.when = whenAlwaysToNull(disabledFacet.when());
-            disabledFacetRepr.where = whereAnywhereToNull(disabledFacet.where());
-            memberRepr.disabled = disabledFacetRepr;
-        }
-        // relies on the fact that HiddenFacetAbstract is multi-typed
-        final HiddenFacet hiddenFacet = assoc.getFacet(HiddenFacet.class);
-        if(hiddenFacet != null && !hiddenFacet.isNoop()) {
-            final HiddenFacetRepr hiddenFacetRepr = new HiddenFacetRepr();
-            hiddenFacetRepr.when = whenAlwaysToNull(hiddenFacet.when());
-            hiddenFacetRepr.where = whereAnywhereToNull(hiddenFacet.where());
-            memberRepr.hidden = hiddenFacetRepr;
-        }
-        final MultiLineFacet multiLineFacet = assoc.getFacet(MultiLineFacet.class);
-        if(multiLineFacet != null && !multiLineFacet.isNoop()) {
-            final MultiLineFacetRepr multiLineFacetRepr = new MultiLineFacetRepr();
-            multiLineFacetRepr.numberOfLines = multiLineFacet.numberOfLines();
-            memberRepr.multiLine = multiLineFacetRepr;
-        }
-        final PagedFacet pagedFacet = assoc.getFacet(PagedFacet.class);
-        if(pagedFacet != null && !pagedFacet.isNoop()) {
-            final PagedFacetRepr pagedFacetRepr = new PagedFacetRepr();
-            pagedFacetRepr.value = pagedFacet.value();
-            memberRepr.paged = pagedFacetRepr;
-        }
-        final RenderFacet renderFacet = assoc.getFacet(RenderFacet.class);
-        if(renderFacet != null && !renderFacet.isNoop()) {
-            final RenderFacetRepr renderFacetRepr = new RenderFacetRepr();
-            renderFacetRepr.value = renderFacet.value();
-            memberRepr.render = renderFacetRepr;
-        }
-        final TypicalLengthFacet typicalLengthFacet = assoc.getFacet(TypicalLengthFacet.class);
-        if(typicalLengthFacet != null && !typicalLengthFacet.isNoop()) {
-            final TypicalLengthFacetRepr typicalLengthFacetRepr = new TypicalLengthFacetRepr();
-            typicalLengthFacetRepr.value = typicalLengthFacet.value();
-            memberRepr.typicalLength = typicalLengthFacetRepr;
-        }
-
-        final List<ObjectAction> actions = objectSpec.getObjectActions(
-                ActionType.USER, Contributed.INCLUDED, ObjectAction.Filters.memberOrderOf(assoc));
-        if(!actions.isEmpty()) {
-            memberRepr.actions = Maps.newLinkedHashMap();
-            
-            sortByMemberOrderFacet(actions);
-            
-            for (final ObjectAction action : actions) {
-                final String actionId = action.getId();
-                memberRepr.actions.put(actionId, new ActionRepr());
-                actionIdsForAssociations.add(actionId);
-            }
-        }
-        return memberRepr;
-    }
-
-    private static Where whereAnywhereToNull(final Where where) {
-        return where != Where.ANYWHERE? where: null;
-    }
-
-    private static When whenAlwaysToNull(final When when) {
-        return when != When.ALWAYS? when: null;
-    }
-
-    private static void sortByMemberOrderFacet(final List<ObjectAction> actions) {
-        Collections.sort(actions, new Comparator<ObjectAction>() {
-
-            @Override
-            public int compare(final ObjectAction o1, final ObjectAction o2) {
-                final MemberOrderFacet m1 = o1.getFacet(MemberOrderFacet.class);
-                final MemberOrderFacet m2 = o2.getFacet(MemberOrderFacet.class);
-                return memberOrderFacetComparator.compare(m1, m2);
-            }});
-    }
-
-    private static ColumnRepr addColumnWithSpan(final LayoutMetadata metadata, final int span) {
-        final ColumnRepr col = new ColumnRepr();
-        metadata.getColumns().add(col);
-        col.span = span;
-        return col;
-    }
-
-    
-    private static List<ObjectAssociation> propertiesOf(final ObjectSpecification objSpec) {
-        return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.PROPERTIES);
-    }
-    private static List<ObjectAssociation> collectionsOf(final ObjectSpecification objSpec) {
-        return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.COLLECTIONS);
-    }
-    private static List<ObjectAction> actionsOf(final ObjectSpecification objSpec, final Set<String> excludedActionIds) {
-        return objSpec.getObjectActions(ActionType.ALL, Contributed.INCLUDED, excluding(excludedActionIds));
-    }
-
-    @SuppressWarnings({ "deprecation" })
-    private static Filter<ObjectAction> excluding(final Set<String> excludedActionIds) {
-        return new Filter<ObjectAction>(){
-                    @Override
-                    public boolean accept(final ObjectAction t) {
-                        return !excludedActionIds.contains(t.getId());
-                    }
-                };
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getName();
-    }
-
-
-
-    private GridService getGridService() {
-        return servicesInjector.lookupService(GridService.class);
-    }
-
-
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java
deleted file mode 100644
index cdde18d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.propfile;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
-
-public class LayoutMetadataReaderFromPropertyFile implements LayoutMetadataReader2 {
-
-    @Override
-    public Support support() {
-        return Support.entitiesOnly();
-    }
-
-    @Override
-    public Properties asProperties(Class<?> domainClass) throws ReaderException {
-        return ClassExtensions.resourceProperties(domainClass, ".layout.properties");
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getName();
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
index 87f1eb4..b419b0b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.specloader;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
 import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
@@ -69,12 +68,6 @@ public final class ReflectorConstants {
     public static final String FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST = ProgrammingModel.FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST;
 
 
-    /**
-     * Key used to lookup comma-separated list of {@link org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader}s.
-     */
-    public static final String LAYOUT_METADATA_READER_LIST = ConfigurationConstants.ROOT + "reflector.layoutMetadataReaders";
-    public static final String LAYOUT_METADATA_READER_LIST_DEFAULT = LayoutMetadataReaderFromJson.class.getName();
-
 
     private ReflectorConstants() {
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index cf3a009..8f80a9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -41,7 +41,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
 import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.FreeStandingList;
@@ -94,12 +93,10 @@ public class SpecificationLoader implements ApplicationScopedComponent {
 
     private final MetaModelValidator metaModelValidator;
     private final SpecificationCacheDefault cache = new SpecificationCacheDefault();
-    private final List<LayoutMetadataReader> layoutMetadataReaders;
 
     public SpecificationLoader(
             final ProgrammingModel programmingModel,
             final MetaModelValidator metaModelValidator,
-            final List<LayoutMetadataReader> layoutMetadataReaders,
             final ServicesInjector servicesInjector) {
 
         this.servicesInjector = servicesInjector;
@@ -107,7 +104,6 @@ public class SpecificationLoader implements ApplicationScopedComponent {
         this.metaModelValidator = metaModelValidator;
 
         this.facetProcessor = new FacetProcessor(programmingModel);
-        this.layoutMetadataReaders = layoutMetadataReaders;
     }
 
     @Override
@@ -137,9 +133,6 @@ public class SpecificationLoader implements ApplicationScopedComponent {
 
         // wire subcomponents into each other
         facetProcessor.setServicesInjector(servicesInjector);
-        for (final LayoutMetadataReader layoutMetadataReader : layoutMetadataReaders) {
-            servicesInjector.injectInto(layoutMetadataReader);
-        }
 
         // initialize subcomponents
         programmingModel.init();
@@ -404,7 +397,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
         } else {
             final FacetedMethodsBuilderContext facetedMethodsBuilderContext =
                     new FacetedMethodsBuilderContext(
-                            this, facetProcessor, layoutMetadataReaders);
+                            this, facetProcessor);
             return new ObjectSpecificationDefault(cls, facetedMethodsBuilderContext,
                     servicesInjector, facetProcessor, natureOfServiceIfAny);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
index 3e1d532..1e0337b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
@@ -23,7 +23,6 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.collect.Lists;
@@ -258,24 +257,22 @@ public class FacetProcessor implements ServicesInjectorAware {
      *            - holder to attach facets to.
      */
     public void process(
-            final Class<?> cls, 
-            final Properties metadataProperties, 
-            final MethodRemover methodRemover, 
+            final Class<?> cls,
+            final MethodRemover methodRemover,
             final FacetHolder facetHolder) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(FeatureType.OBJECT);
         for (final FacetFactory facetFactory : factoryList) {
-            facetFactory.process(new ProcessClassContext(cls, metadataProperties, removerElseNullRemover(methodRemover), facetHolder));
+            facetFactory.process(new ProcessClassContext(cls, removerElseNullRemover(methodRemover), facetHolder));
         }
     }
 
     public void processPost(
-            final Class<?> cls, 
-            final Properties metadataProperties, 
-            final MethodRemover methodRemover, 
+            final Class<?> cls,
+            final MethodRemover methodRemover,
             final FacetHolder facetHolder) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(FeatureType.OBJECT_POST_PROCESSING);
         for (final FacetFactory facetFactory : factoryList) {
-            facetFactory.process(new ProcessClassContext(cls, metadataProperties, removerElseNullRemover(methodRemover), facetHolder));
+            facetFactory.process(new ProcessClassContext(cls, removerElseNullRemover(methodRemover), facetHolder));
         }
     }
 
@@ -298,19 +295,16 @@ public class FacetProcessor implements ServicesInjectorAware {
      * @param featureType
      *            - what type of feature the method represents (property,
      *            action, collection etc)
-     * @param metadataProperties 
-     *            - additional properties to parse and use 
      */
     public void process(
-            final Class<?> cls, 
-            final Method method, 
-            final MethodRemover methodRemover, 
-            final FacetedMethod facetedMethod, 
-            final FeatureType featureType, 
-            final Properties metadataProperties) {
+            final Class<?> cls,
+            final Method method,
+            final MethodRemover methodRemover,
+            final FacetedMethod facetedMethod,
+            final FeatureType featureType) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(featureType);
         final ProcessMethodContext processMethodContext =
-                new ProcessMethodContext(cls, featureType, metadataProperties, method, removerElseNullRemover(methodRemover), facetedMethod);
+                new ProcessMethodContext(cls, featureType, method, removerElseNullRemover(methodRemover), facetedMethod);
         for (final FacetFactory facetFactory : factoryList) {
             facetFactory.process(processMethodContext);
         }
@@ -318,11 +312,10 @@ public class FacetProcessor implements ServicesInjectorAware {
 
     
     public void processMemberOrder(
-            final Properties metadataProperties, 
             final ObjectMember facetHolder) {
         cacheContributeeMemberFacetFactoriesIfRequired();
         final ContributeeMemberFacetFactory.ProcessContributeeMemberContext processMemberContext =
-                new ContributeeMemberFacetFactory.ProcessContributeeMemberContext(metadataProperties, facetHolder);
+                new ContributeeMemberFacetFactory.ProcessContributeeMemberContext(facetHolder);
         for (final ContributeeMemberFacetFactory facetFactory : cachedContributeeMemberFacetFactories) {
             facetFactory.process(processMemberContext);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
index 4c513d8..52856a7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
@@ -25,12 +25,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,9 +45,6 @@ import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.object.facets.FacetsFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader.ReaderException;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -140,9 +134,6 @@ public class FacetedMethodsBuilder {
 
     private final SpecificationLoader specificationLoader;
 
-    private final List<LayoutMetadataReader> layoutMetadataReaders;
-    private final Map<LayoutMetadataReader, LayoutMetadataReader2.Support> supportByReader;
-
 
     // ////////////////////////////////////////////////////////////////////////////
     // Constructor & finalize
@@ -161,18 +152,6 @@ public class FacetedMethodsBuilder {
 
         this.facetProcessor = facetedMethodsBuilderContext.facetProcessor;
         this.specificationLoader = facetedMethodsBuilderContext.specificationLoader;
-
-        this.layoutMetadataReaders = facetedMethodsBuilderContext.layoutMetadataReaders;
-
-        this.supportByReader = Maps.newHashMap();
-        for (LayoutMetadataReader reader : layoutMetadataReaders) {
-
-            if(reader instanceof LayoutMetadataReader2) {
-                final LayoutMetadataReader2 reader2 = (LayoutMetadataReader2) reader;
-                final LayoutMetadataReader2.Support support = reader2.support();
-                supportByReader.put(reader, support);
-            }
-        }
     }
 
     @Override
@@ -196,7 +175,7 @@ public class FacetedMethodsBuilder {
     // ////////////////////////////////////////////////////////////////////////////
 
 
-    public Properties introspectClass() {
+    public void introspectClass() {
         if (LOG.isInfoEnabled()) {
             LOG.info("introspecting " + getClassName() + ": class-level details");
         }
@@ -204,9 +183,7 @@ public class FacetedMethodsBuilder {
         // process facets at object level
         // this will also remove some methods, such as the superclass methods.
 
-        final Properties metadataProperties = readMetadataProperties(introspectedClass);
-
-        getFacetProcessor().process(introspectedClass, metadataProperties, methodRemover, spec);
+        getFacetProcessor().process(introspectedClass, methodRemover, spec);
 
         // if this class has additional facets (as per @Facets), then process
         // them.
@@ -221,66 +198,13 @@ public class FacetedMethodsBuilder {
                     throw new IsisException(e);
                 }
                 getFacetProcessor().injectDependenciesInto(facetFactory);
-                facetFactory.process(new ProcessClassContext(introspectedClass, metadataProperties, methodRemover, spec));
+                facetFactory.process(new ProcessClassContext(introspectedClass, methodRemover, spec));
             }
         }
-        return metadataProperties;
-    }
 
-    private Properties readMetadataProperties(final Class<?> domainClass) {
-        for (final LayoutMetadataReader reader : layoutMetadataReaders) {
-            try {
-                // ignore JDK, Joda and Guava classes
-                if(isPrimitiveOrJdkOrJodaOrGuava(domainClass)) {
-                    continue;
-                }
-
-                // skip class if the reader doesn't support it
-                final LayoutMetadataReader2.Support support = supportByReader.get(reader);
-                if(support != null) {
-
-                    if (!support.interfaces() && domainClass.isInterface()) {
-                        continue;
-                    }
-
-                    if (!support.anonymous() && domainClass.isAnonymousClass()) {
-                        continue;
-                    }
-
-                    if (!support.synthetic() && domainClass.isSynthetic()) {
-                        continue;
-                    }
-
-                    if (!support.array() && domainClass.isArray()) {
-                        continue;
-                    }
-
-                    if (!support.enums() && domainClass.isEnum()) {
-                        continue;
-                    }
-
-                    if (!support.applibValueTypes() && domainClass.getName().startsWith("org.apache.isis.applib.value")) {
-                        continue;
-                    }
-
-                    if(!support.services() &&
-                       getSpecificationLoader().isServiceClass(domainClass)) {
-                        continue;
-                    }
-
-                }
-
-                Properties properties = reader.asProperties(domainClass);
-                if(properties != null) {
-                    return properties;
-                }
-            } catch(final ReaderException ignore) {
-                // ignore... it is now the responsibility of the reader to LOG any exceptions
-            }
-        }
-        return null;
     }
 
+    // REVIEW: good news - looks like this hacky code is unused and so can be deleted.
     private static boolean isPrimitiveOrJdkOrJodaOrGuava(final Class<?> cls) {
         if(cls.isPrimitive()) {
             return true;
@@ -297,14 +221,14 @@ public class FacetedMethodsBuilder {
      * Returns a {@link List} of {@link FacetedMethod}s representing object
      * actions, lazily creating them first if required.
      */
-    public List<FacetedMethod> getAssociationFacetedMethods(Properties properties) {
+    public List<FacetedMethod> getAssociationFacetedMethods() {
         if (associationFacetMethods == null) {
-            associationFacetMethods = createAssociationFacetedMethods(properties);
+            associationFacetMethods = createAssociationFacetedMethods();
         }
         return associationFacetMethods;
     }
 
-    private List<FacetedMethod> createAssociationFacetedMethods(Properties properties) {
+    private List<FacetedMethod> createAssociationFacetedMethods() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting " + getClassName() + ": properties and collections");
         }
@@ -320,34 +244,35 @@ public class FacetedMethodsBuilder {
         // now create FacetedMethods for collections and for properties
         final List<FacetedMethod> associationFacetedMethods = Lists.newArrayList();
 
-        findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods, properties);
-        findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods, properties);
+        findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
+        findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
 
         return Collections.unmodifiableList(associationFacetedMethods);
     }
 
-    private void findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> associationPeers, Properties properties) {
+    private void findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> associationPeers) {
         final List<Method> collectionAccessors = Lists.newArrayList();
         getFacetProcessor().findAndRemoveCollectionAccessors(methodRemover, collectionAccessors);
-        createCollectionFacetedMethodsFromAccessors(collectionAccessors, associationPeers, properties);
+        createCollectionFacetedMethodsFromAccessors(collectionAccessors, associationPeers);
     }
 
     /**
      * Since the value properties and collections have already been processed,
      * this will pick up the remaining reference properties.
-     * @param properties TODO
      */
-    private void findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> fields, Properties properties) {
+    private void findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> fields) {
         final List<Method> propertyAccessors = Lists.newArrayList();
         getFacetProcessor().findAndRemovePropertyAccessors(methodRemover, propertyAccessors);
 
         findAndRemovePrefixedNonVoidMethods(MethodScope.OBJECT, GET_PREFIX, Object.class, 0, propertyAccessors);
         findAndRemovePrefixedNonVoidMethods(MethodScope.OBJECT, IS_PREFIX, Boolean.class, 0, propertyAccessors);
 
-        createPropertyFacetedMethodsFromAccessors(propertyAccessors, fields, properties);
+        createPropertyFacetedMethodsFromAccessors(propertyAccessors, fields);
     }
 
-    private void createCollectionFacetedMethodsFromAccessors(final List<Method> accessorMethods, final List<FacetedMethod> facetMethodsToAppendto, Properties properties) {
+    private void createCollectionFacetedMethodsFromAccessors(
+            final List<Method> accessorMethods,
+            final List<FacetedMethod> facetMethodsToAppendto) {
         for (final Method accessorMethod : accessorMethods) {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("  identified accessor method representing collection: " + accessorMethod);
@@ -355,7 +280,7 @@ public class FacetedMethodsBuilder {
 
             // create property and add facets
             final FacetedMethod facetedMethod = FacetedMethod.createForCollection(introspectedClass, accessorMethod);
-            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.COLLECTION, properties);
+            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.COLLECTION);
 
             // figure out what the type is
             Class<?> elementType = Object.class;
@@ -374,7 +299,9 @@ public class FacetedMethodsBuilder {
         }
     }
 
-    private void createPropertyFacetedMethodsFromAccessors(final List<Method> accessorMethods, final List<FacetedMethod> facetedMethodsToAppendto, Properties properties) throws MetaModelException {
+    private void createPropertyFacetedMethodsFromAccessors(
+            final List<Method> accessorMethods,
+            final List<FacetedMethod> facetedMethodsToAppendto) throws MetaModelException {
 
         for (final Method accessorMethod : accessorMethods) {
             LOG.debug("  identified accessor method representing property: " + accessorMethod);
@@ -390,7 +317,7 @@ public class FacetedMethodsBuilder {
             final FacetedMethod facetedMethod = FacetedMethod.createForProperty(introspectedClass, accessorMethod);
 
             // process facets for the 1:1 association
-            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.PROPERTY, properties);
+            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.PROPERTY);
 
             facetedMethodsToAppendto.add(facetedMethod);
         }
@@ -404,9 +331,9 @@ public class FacetedMethodsBuilder {
      * Returns a {@link List} of {@link FacetedMethod}s representing object
      * actions, lazily creating them first if required.
      */
-    public List<FacetedMethod> getActionFacetedMethods(final Properties metadataProperties) {
+    public List<FacetedMethod> getActionFacetedMethods() {
         if (actionFacetedMethods == null) {
-            actionFacetedMethods = findActionFacetedMethods(MethodScope.OBJECT, metadataProperties);
+            actionFacetedMethods = findActionFacetedMethods(MethodScope.OBJECT);
         }
         return actionFacetedMethods;
     }
@@ -425,20 +352,18 @@ public class FacetedMethodsBuilder {
      * Perhaps it's important to skip helpers first. I doubt it, though.
      */
     private List<FacetedMethod> findActionFacetedMethods(
-            final MethodScope methodScope, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting " + getClassName() + ": actions");
         }
-        final List<FacetedMethod> actionFacetedMethods1 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.SKIP, metadataProperties);
-        final List<FacetedMethod> actionFacetedMethods2 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.DONT_SKIP, metadataProperties);
+        final List<FacetedMethod> actionFacetedMethods1 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.SKIP);
+        final List<FacetedMethod> actionFacetedMethods2 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.DONT_SKIP);
         return ListExtensions.combineWith(actionFacetedMethods1, actionFacetedMethods2);
     }
 
     private List<FacetedMethod> findActionFacetedMethods(
-            final MethodScope methodScope, 
-            final RecognisedHelpersStrategy recognisedHelpersStrategy, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope,
+            final RecognisedHelpersStrategy recognisedHelpersStrategy) {
         
         if (LOG.isDebugEnabled()) {
             LOG.debug("  looking for action methods");
@@ -451,7 +376,7 @@ public class FacetedMethodsBuilder {
             if (method == null) {
                 continue;
             }
-            final FacetedMethod actionPeer = findActionFacetedMethod(methodScope, recognisedHelpersStrategy, method, metadataProperties);
+            final FacetedMethod actionPeer = findActionFacetedMethod(methodScope, recognisedHelpersStrategy, method);
             if (actionPeer != null) {
                 methods.set(i, null);
                 actionFacetedMethods.add(actionPeer);
@@ -462,22 +387,20 @@ public class FacetedMethodsBuilder {
     }
 
     private FacetedMethod findActionFacetedMethod(
-            final MethodScope methodScope, 
-            final RecognisedHelpersStrategy recognisedHelpersStrategy, 
-            final Method actionMethod, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope,
+            final RecognisedHelpersStrategy recognisedHelpersStrategy,
+            final Method actionMethod) {
 
         if (!representsAction(actionMethod, methodScope, recognisedHelpersStrategy)) {
             return null;
         }
 
         // build action
-        return createActionFacetedMethod(actionMethod, metadataProperties);
+        return createActionFacetedMethod(actionMethod);
     }
 
     private FacetedMethod createActionFacetedMethod(
-            final Method actionMethod, 
-            final Properties metadataProperties) {
+            final Method actionMethod) {
         
         if (!isAllParamTypesValid(actionMethod)) {
             return null;
@@ -486,7 +409,7 @@ public class FacetedMethodsBuilder {
         final FacetedMethod action = FacetedMethod.createForAction(introspectedClass, actionMethod, getSpecificationLoader());
 
         // process facets on the action & parameters
-        getFacetProcessor().process(introspectedClass, actionMethod, methodRemover, action, FeatureType.ACTION, metadataProperties);
+        getFacetProcessor().process(introspectedClass, actionMethod, methodRemover, action, FeatureType.ACTION);
 
         final List<FacetedMethodParameter> actionParams = action.getParameters();
         for (int j = 0; j < actionParams.size(); j++) {
@@ -563,12 +486,12 @@ public class FacetedMethodsBuilder {
     // introspect class post processing
     // ////////////////////////////////////////////////////////////////////////////
 
-    public void introspectClassPostProcessing(final Properties metadataProperties) {
+    public void introspectClassPostProcessing() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting {0}: class-level post-processing", getClassName());
         }
 
-        getFacetProcessor().processPost(introspectedClass, metadataProperties, methodRemover, spec);
+        getFacetProcessor().processPost(introspectedClass, methodRemover, spec);
     }
 
     // ////////////////////////////////////////////////////////////////////////////
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
index e75c2b3..e4681db 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
@@ -16,22 +16,17 @@
  */
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
-import java.util.List;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
 
 public class FacetedMethodsBuilderContext {
     public final SpecificationLoader specificationLoader;
     public final FacetProcessor facetProcessor;
-    public final List<LayoutMetadataReader> layoutMetadataReaders;
 
     public FacetedMethodsBuilderContext(
             final SpecificationLoader specificationLoader,
-            final FacetProcessor facetProcessor,
-            final List<LayoutMetadataReader> layoutMetadataReaders) {
+            final FacetProcessor facetProcessor) {
         this.specificationLoader = specificationLoader;
         this.facetProcessor = facetProcessor;
-        this.layoutMetadataReaders = layoutMetadataReaders;
     }
 }
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index cfa0dd0..b705c89 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -23,7 +23,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.base.Function;
@@ -130,10 +129,6 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
     private final SpecificationLoader specificationLoader;
     private final FacetProcessor facetProcessor;
 
-    /**
-     * Only populated once {@link #introspectTypeHierarchyAndMembers()} is called.
-     */
-    protected Properties metadataProperties;
 
 
     private final List<ObjectAssociation> associations = Lists.newArrayList();
@@ -957,7 +952,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             public ObjectAssociation apply(ObjectActionDefault input) {
                 final ObjectSpecification returnType = input.getReturnType();
                 final ObjectAssociationAbstract association = createObjectAssociation(input, returnType);
-                facetProcessor.processMemberOrder(metadataProperties, association);
+                facetProcessor.processMemberOrder(association);
                 return association;
             }
 
@@ -1050,7 +1045,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             @Override
             public ObjectAssociation apply(final ObjectActionDefault mixinAction) {
                 final ObjectAssociationAbstract association = createObjectAssociation(mixinAction);
-                facetProcessor.processMemberOrder(metadataProperties, association);
+                facetProcessor.processMemberOrder(association);
                 return association;
             }
 
@@ -1120,7 +1115,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
                 ObjectActionContributee contributeeAction =
                         new ObjectActionContributee(servicePojo, contributedAction, contributeeParam, this,
                                 servicesInjector);
-                facetProcessor.processMemberOrder(metadataProperties, contributeeAction);
+                facetProcessor.processMemberOrder(contributeeAction);
                 contributeeActions.add(contributeeAction);
             }
         }
@@ -1208,7 +1203,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
 
             ObjectActionMixedIn mixedInAction =
                     new ObjectActionMixedIn(mixinType, mixinFacet.value(), mixinAction, this, servicesInjector);
-            facetProcessor.processMemberOrder(metadataProperties, mixedInAction);
+            facetProcessor.processMemberOrder(mixedInAction);
             actions.add(mixedInAction);
         }
         mixedInActionsToAppendTo.addAll(actions);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 09a91bd..4a3e275 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -23,7 +23,6 @@ import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -110,9 +109,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     @Override
     public void introspectTypeHierarchyAndMembers() {
 
-        metadataProperties = null;
         if(isNotIntrospected()) {
-            metadataProperties = facetedMethodsBuilder.introspectClass();
+            facetedMethodsBuilder.introspectClass();
         }
         
         // name
@@ -165,19 +163,19 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
         // associations and actions
         if(isNotIntrospected()) {
-            final List<ObjectAssociation> associations = createAssociations(metadataProperties);
+            final List<ObjectAssociation> associations = createAssociations();
             sortAndUpdateAssociations(associations);
         }
 
         if(isNotIntrospected()) {
-            final List<ObjectAction> actions = createActions(metadataProperties);
+            final List<ObjectAction> actions = createActions();
             sortCacheAndUpdateActions(actions);
         }
 
 
 
         if(isNotIntrospected()) {
-            facetedMethodsBuilder.introspectClassPostProcessing(metadataProperties);    
+            facetedMethodsBuilder.introspectClassPostProcessing();
         }
         
         if(isNotIntrospected()) {
@@ -207,8 +205,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     //endregion
 
     //region > create associations and actions
-    private List<ObjectAssociation> createAssociations(Properties properties) {
-        final List<FacetedMethod> associationFacetedMethods = facetedMethodsBuilder.getAssociationFacetedMethods(properties);
+    private List<ObjectAssociation> createAssociations() {
+        final List<FacetedMethod> associationFacetedMethods = facetedMethodsBuilder.getAssociationFacetedMethods();
         final List<ObjectAssociation> associations = Lists.newArrayList();
         for (FacetedMethod facetedMethod : associationFacetedMethods) {
             final ObjectAssociation association = createAssociation(facetedMethod);
@@ -230,8 +228,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
         }
     }
 
-    private List<ObjectAction> createActions(Properties metadataProperties) {
-        final List<FacetedMethod> actionFacetedMethods = facetedMethodsBuilder.getActionFacetedMethods(metadataProperties);
+    private List<ObjectAction> createActions() {
+        final List<FacetedMethod> actionFacetedMethods = facetedMethodsBuilder.getActionFacetedMethods();
         final List<ObjectAction> actions = Lists.newArrayList();
         for (FacetedMethod facetedMethod : actionFacetedMethods) {
             final ObjectAction action = createAction(facetedMethod);
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
index 898bc03..52835a8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
@@ -20,14 +20,12 @@
 package org.apache.isis.progmodels.dflt;
 
 import java.util.Collection;
-import java.util.List;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -45,7 +43,6 @@ public final class JavaReflectorHelper  {
             final IsisConfiguration configuration,
             final ProgrammingModel programmingModel,
             final Collection<MetaModelRefiner> metaModelRefiners,
-            final List<LayoutMetadataReader> layoutMetadataReaders,
             final MetaModelValidator mmv,
             final ServicesInjector servicesInjector) {
 
@@ -60,7 +57,7 @@ public final class JavaReflectorHelper  {
             programmingModel.refineMetaModelValidator(metaModelValidator, configuration);
         }
 
-        return new SpecificationLoader(programmingModel, metaModelValidator, layoutMetadataReaders, servicesInjector);
+        return new SpecificationLoader(programmingModel, metaModelValidator, servicesInjector);
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 41fa98d..3a8739d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -20,7 +20,6 @@ package org.apache.isis.progmodels.dflt;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.action.ActionAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.actions.action.ActionChoicesForCollectionParameterFacetFactory;
-import org.apache.isis.core.metamodel.facets.actions.contributing.paged.PagedFacetOnActionFactory;
 import org.apache.isis.core.metamodel.facets.actions.defaults.method.ActionDefaultsFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.actions.exploration.annotation.PrototypeFacetForExplorationAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.actions.homepage.annotation.HomePageFacetAnnotationFactory;
@@ -40,28 +39,22 @@ import org.apache.isis.core.metamodel.facets.collections.disabled.fromimmutable.
 import org.apache.isis.core.metamodel.facets.collections.javautilcollection.CollectionFacetFactory;
 import org.apache.isis.core.metamodel.facets.collections.layout.CollectionLayoutFacetFactory;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToRemoveFromAndValidateFacetFactory;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetOnCollectionFactory;
 import org.apache.isis.core.metamodel.facets.collections.parented.ParentedFacetSinceCollectionFactory;
 import org.apache.isis.core.metamodel.facets.collections.sortedby.annotation.SortedByFacetAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.fallback.FallbackFacetFactory;
 import org.apache.isis.core.metamodel.facets.jaxb.JaxbXmlJavaTypeAdapterFacetFactory;
 import org.apache.isis.core.metamodel.facets.members.cssclass.annotprop.CssClassFacetOnActionFromConfiguredRegexFactory;
-import org.apache.isis.core.metamodel.facets.members.cssclass.annotprop.CssClassFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.disabled.layout.DisabledFacetOnMemberFromPropertiesFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.hidden.layout.HiddenFacetOnMemberFromPropertiesFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.named.annotprop.NamedFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetFactory;
-import org.apache.isis.core.metamodel.facets.members.render.annotprop.RenderFacetOrResolveFactory;
 import org.apache.isis.core.metamodel.facets.object.ViewModelSemanticCheckingFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.audit.markerifc.AuditableFacetMarkerInterfaceFactory;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory;
@@ -137,10 +130,8 @@ import org.apache.isis.core.metamodel.facets.properties.disabled.fromimmutable.D
 import org.apache.isis.core.metamodel.facets.properties.disabled.inferred.DisabledFacetOnPropertyInferredFactory;
 import org.apache.isis.core.metamodel.facets.properties.mandatory.dflt.MandatoryFacetOnProperyDefaultFactory;
 import org.apache.isis.core.metamodel.facets.properties.mandatory.staticmethod.MandatoryFacetOnPropertyStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.properties.multiline.annotation.MultiLineFacetOnPropertyFactory;
 import org.apache.isis.core.metamodel.facets.properties.property.PropertyAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.PropertyLayoutFacetFactory;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromTypeFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.update.PropertyModifyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.update.PropertySetAndClearFacetFactory;
@@ -274,7 +265,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         
         addFactory(new HiddenFacetStaticMethodFactory());
         addFactory(new HideForContextFacetViaMethodFactory());
-        addFactory(new RenderFacetOrResolveFactory());
 
         addFactory(new CreatedCallbackFacetFactory());
         addFactory(new LoadCallbackFacetFactory());
@@ -311,7 +301,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new BigDecimalFacetOnParameterFromJavaxValidationAnnotationFactory());
         addFactory(new BigDecimalFacetOnPropertyFromJavaxValidationDigitsAnnotationFactory());
 
-        addFactory(new DisabledFacetOnMemberFromPropertiesFactory());
         addFactory(new EncodableFacetAnnotationElseConfigurationFactory());
         
         addFactory(new PrototypeFacetForExplorationAnnotationFactory());
@@ -329,10 +318,7 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new HiddenFacetOnTypeAnnotationFactory());
         // must come after the TitleAnnotationFacetFactory, because can act as an override
         
-        addFactory(new HiddenFacetOnMemberFromPropertiesFactory());
 
-        
-        addFactory(new CssClassFacetOnMemberFactory());
         // must come after CssClassFacetOnMemberFactory
         addFactory(new CssClassFacetOnActionFromConfiguredRegexFactory());
 
@@ -355,7 +341,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory());
 
         
-        addFactory(new MultiLineFacetOnPropertyFactory());
 
         // must come after RecreatableObjectFacetFactory
         addFactory(new DomainObjectAnnotationFacetFactory());
@@ -393,17 +378,11 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new ActionLayoutFacetFactory());
         addFactory(new CollectionLayoutFacetFactory());
 
-        addFactory(new NamedFacetOnMemberFactory());
-        
         addFactory(new NotPersistableFacetAnnotationFactory());
         addFactory(new NotPersistableFacetMarkerInterfaceFactory());
 
         addFactory(new ParseableFacetAnnotationElseConfigurationFactory());
         
-        addFactory(new PagedFacetOnCollectionFactory());
-
-        addFactory(new PagedFacetOnActionFactory());
-
 
         // must come after any facets that install titles
         
@@ -413,8 +392,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory());
 
         
-        addFactory(new TypicalLengthOnPropertyFacetFactory());
-        
 
 
         // built-in value types for Java language
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
index 595bed0..8f8cc18 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
@@ -164,7 +164,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "anActionWithNamedAnnotation");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -188,7 +188,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
             }
         }
         final Method method = findMethod(Customer.class, "explorationAnActionWithExplorationPrefix");
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
@@ -222,7 +222,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction");
         final Method validateMethod = findMethod(Customer.class, "validateSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
         assertNotNull(facet);
@@ -254,7 +254,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, int.class });
         final Method validateMethod = findMethod(Customer.class, "validateSomeAction", new Class[] { int.class, int.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
         assertNotNull(facet);
@@ -286,7 +286,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
         final Method defaultMethod = findMethod(Customer.class, "defaultSomeAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
         assertNotNull(facet);
@@ -317,7 +317,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
         assertNull(facet);
@@ -343,7 +343,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         // mockSpecificationLoader.setLoadSpecificationStringReturn(voidSpec);
         allowing_specificationLoader_loadSpecification_any_willReturn(this.voidSpec);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
         assertNotNull(facet);
@@ -374,7 +374,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
         assertNull(facet);
@@ -431,7 +431,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method nameMethod = findMethod(CustomerStatic.class, "nameSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -451,7 +451,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -472,7 +472,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         // mockSpecificationLoader.setLoadSpecificationStringReturn(voidSpec);
         allowing_specificationLoader_loadSpecification_any_willReturn(this.voidSpec);
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -490,7 +490,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -507,7 +507,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method protectMethod = findMethod(CustomerStatic.class, "protectSomeAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -526,7 +526,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(DisabledFacet.class));
 
@@ -545,7 +545,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method hideMethod = findMethod(CustomerStatic.class, "hideSomeAction", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -566,7 +566,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method disableMethod = findMethod(CustomerStatic.class, "disableSomeAction", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
@@ -607,7 +607,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterDefaultsFacet.class);
         assertNotNull(facet0);
@@ -664,7 +664,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterChoicesFacet.class);
         assertNotNull(facet0);
@@ -718,7 +718,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterAutoCompleteFacet.class);
         assertNotNull(facet0);
@@ -768,7 +768,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.process(processMethodContext);
         try {
             facetFactoryForParams.process(processMethodContext);
@@ -818,7 +818,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.process(processMethodContext);
         try {
             facetFactoryForParams.process(processMethodContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index a79bf4b..cf9bc09 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -181,7 +181,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -220,7 +220,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             expectRemoveMethod(actionMethod);
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -259,7 +259,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             expectRemoveMethod(actionMethod);
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -299,7 +299,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -333,7 +333,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -364,7 +364,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -386,7 +386,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -407,7 +407,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -432,7 +432,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -454,7 +454,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -476,7 +476,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -499,7 +499,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -522,7 +522,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -544,7 +544,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -568,7 +568,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -590,7 +590,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -612,7 +612,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -640,7 +640,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -664,7 +664,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -687,7 +687,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -710,7 +710,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -734,7 +734,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -754,7 +754,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(SomeTransactionalId.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(SomeTransactionalId.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(SomeTransactionalId.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -776,7 +776,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -799,7 +799,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -816,7 +817,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -835,7 +837,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -846,7 +849,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -862,7 +866,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("all");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -886,7 +891,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
             assertNull(facet);
@@ -912,7 +917,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -936,7 +941,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("ignoreQueryOnly");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -953,7 +958,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
             assertNull(facet);
@@ -977,7 +982,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("all");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1004,7 +1009,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1029,7 +1034,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1046,7 +1051,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             final Method actionMethod = findMethod(SomeTransactionalId.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(SomeTransactionalId.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(SomeTransactionalId.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1064,7 +1069,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1081,7 +1087,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1097,7 +1104,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
         }
 
@@ -1109,7 +1117,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1128,7 +1137,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("all");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1150,7 +1160,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1176,7 +1186,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1198,7 +1208,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("ignoreQueryOnly");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -1213,7 +1223,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1238,7 +1248,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("all");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1265,7 +1275,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1290,7 +1300,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1318,7 +1328,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1343,7 +1353,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1370,7 +1380,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1394,7 +1404,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1420,7 +1430,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
index 9b17f0f..d263095 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
@@ -62,7 +62,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         assertNotNull(facet);
@@ -84,7 +84,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -103,7 +103,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -122,7 +122,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -147,7 +147,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(CustomerEx.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.processInvocation(new ProcessMethodContext(CustomerEx.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.processInvocation(new ProcessMethodContext(CustomerEx.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getFacet(ActionInvocationFacet.class);
         assertNotNull(facet0);
@@ -204,7 +204,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(CustomerEx.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.processInvocation(processMethodContext);
 
         facetFactoryForChoices.process(processMethodContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
index 9e43b48..b4abfab 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
@@ -51,7 +51,7 @@ public class ActionSemanticsFacetFallbackToNonIdempotentFactoryTest extends Abst
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processSemantics(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processSemantics(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
index 289b0a1..c02ca77 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
@@ -57,7 +57,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -93,7 +93,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -109,7 +109,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -125,7 +125,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -143,7 +143,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -161,7 +161,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
index fead033..f9656b7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
@@ -52,7 +52,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
         assertNotNull(facet);
@@ -68,7 +68,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -83,7 +83,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -98,7 +98,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -113,7 +113,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -129,7 +129,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -146,7 +146,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
index 128bee6..7702747 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
@@ -58,7 +58,7 @@ public class PrototypeFacetAnnotationFactoryTest extends AbstractFacetFactoryTes
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processRestrictTo(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processRestrictTo(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
index 666b4a6..bb230eb 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
@@ -54,7 +54,7 @@ public class BookmarkableAnnotationFacetFactoryTest_action extends AbstractFacet
         }
         final Method actionMethod = findMethod(Customer.class, "placeOrder");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
index 6f127c4..7aabfca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
@@ -56,7 +56,7 @@ public class PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
index 7a71cc8..3c12c2f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class HomePageAnnotationFacetFactoryTest extends AbstractFacetFactoryTest
 
         final Method actionMethod = findMethod(HomePageService.class, "lookup");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HomePageFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
index 07e3ba4..c314caa 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
@@ -81,7 +81,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -115,7 +115,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -150,7 +150,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -188,7 +188,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -224,7 +224,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -261,7 +261,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -302,7 +302,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -340,7 +340,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -377,7 +377,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(Customer.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(Customer.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(Customer.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
index b09a42f..6462747 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
@@ -80,7 +80,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
             }
         });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                 facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionPositionFacet.class);
@@ -115,7 +115,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
             }
         });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                 facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionPositionFacet.class);
@@ -150,7 +150,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
                 }
             });
 
-            facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+            facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                     facetedMethod));
 
             Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
@@ -186,7 +186,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
                 }
             });
 
-            facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+            facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                     facetedMethod));
 
             Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
index bffd0e4..289c8bc 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
@@ -55,7 +55,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
@@ -73,7 +73,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
         
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
         
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
@@ -91,7 +91,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
         
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
         
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
index 0ab88ba..206d4c2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
@@ -73,7 +73,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -109,7 +109,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -145,7 +145,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -178,7 +178,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -209,7 +209,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
index 6afa7fb..0554ac5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class NotInServiceMenuAnnotationFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
index cc504a9..c5f52c6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
@@ -73,7 +73,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -109,7 +109,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -145,7 +145,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -178,7 +178,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -209,7 +209,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
index a926219..4b9be47 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
@@ -26,7 +26,6 @@ import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
 import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacetAbstract;
-import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.method.NotInServiceMenuFacetViaMethodFactory;
 
 public class NotInServiceMenuMethodFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -60,7 +59,7 @@ public class NotInServiceMenuMethodFacetFactoryTest extends AbstractFacetFactory
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
         // when
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
index 75da9e6..b663d8e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
@@ -98,7 +98,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -124,7 +124,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -148,7 +148,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -172,7 +172,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -199,7 +199,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -226,7 +226,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionAddToFacet.class);
         assertNotNull(facet);
@@ -251,7 +251,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(TypeOfFacet.class));
     }
@@ -272,7 +272,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -302,7 +302,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method addToMethod = findMethod(Customer.class, "addToOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionAddToFacet.class);
         assertNotNull(facet);
@@ -333,7 +333,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -363,7 +363,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method removeFromMethod = findMethod(Customer.class, "removeFromOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -394,7 +394,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -424,7 +424,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method clearMethod = findMethod(Customer.class, "clearOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionClearFacet.class);
         assertNotNull(facet);
@@ -451,7 +451,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionClearFacet.class);
         assertNotNull(facet);
@@ -486,7 +486,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method validateAddToMethod = findMethod(Customer.class, "validateAddToOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionValidateAddToFacet.class);
         assertNotNull(facet);
@@ -523,7 +523,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method validateRemoveFromMethod = findMethod(Customer.class, "validateRemoveFromOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionValidateRemoveFromFacet.class);
         assertNotNull(facet);
@@ -554,7 +554,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
 
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -597,8 +597,8 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method removeFromMethod = findMethod(CustomerEx.class, "removeFromOrders", new Class[] { Order.class });
         final Method validateRemoveFromMethod = findMethod(CustomerEx.class, "validateRemoveFromOrders", new Class[] { Order.class });
 
-        facetFactoryForAccessor.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
-        facetFactoryForHelpers.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactoryForAccessor.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactoryForHelpers.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -669,7 +669,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method nameMethod = findMethod(CustomerStatic.class, "nameOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -688,7 +688,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -707,7 +707,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -724,7 +724,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOtherOrders");
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -739,7 +739,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -758,7 +758,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOtherOrders");
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(DisabledFacet.class));
 
@@ -773,7 +773,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method hideMethod = findMethod(CustomerStatic.class, "hideOrders", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -792,7 +792,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method disableMethod = findMethod(CustomerStatic.class, "disableOrders", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index acf160b..09fcef3 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -174,7 +174,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -236,7 +236,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -291,7 +291,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -343,7 +343,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -392,7 +392,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -436,7 +436,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processEditing(processMethodContext);
 
             // then
@@ -474,7 +474,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -504,7 +504,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -534,7 +534,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
index a14bdcf..a8ffda1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
@@ -58,7 +58,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -101,7 +101,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
index 89e7e67..b686e05 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
@@ -57,7 +57,7 @@ public class DisabledAnnotationOnCollectionFacetFactoryTest extends AbstractFace
         }
         final Method actionMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
index ba81ca3..75c838c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class HiddenAnnotationOnCollectionFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnCollection.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
index 1506dc2..f3e1fd0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
@@ -50,7 +50,7 @@ public class NotPersistedAnnotationOnCollectionFacetFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
index d7095ed..3bc005f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
@@ -50,7 +50,7 @@ public class NamedFacetForCollectionLayoutAnnotationFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getFirstNames");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
         assertThat(facet, is(notNullValue()));
@@ -71,7 +71,7 @@ public class NamedFacetForCollectionLayoutAnnotationFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getFirstNames");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
         assertThat(facet, is(notNullValue()));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
deleted file mode 100644
index ad51796..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.objcoll.paged;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetForPagedAnnotationOnCollection;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetOnCollectionFactory;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class PagedAnnotationOnCollectionFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    private PagedFacetOnCollectionFactory facetFactory;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new PagedFacetOnCollectionFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    static class Customer {
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-    static class CustomerWithoutPagedAnnotation {
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-
-    public void testAnnotationPickedUpOnCollection() {
-        facetedMethod = FacetedMethod.createForCollection(Customer.class, "orders");
-        final Method method = facetedMethod.getMethod();
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
-        facetFactory.process(processMethodContext);
-
-        final Facet facet = facetedMethod.getFacet(PagedFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof PagedFacetForPagedAnnotationOnCollection);
-        PagedFacet pagedFacet = (PagedFacet) facet;
-        assertThat(pagedFacet.value(), is(10));
-    }
-
-    public void testNoAnnotationOnCollection() {
-        facetedMethod = FacetedMethod.createForCollection(CustomerWithoutPagedAnnotation.class, "orders");
-        final Method method = facetedMethod.getMethod();
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
-        facetFactory.process(processMethodContext);
-
-        final Facet facet = facetedMethod.getFacet(PagedFacet.class);
-        assertNull(facet);
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
index 73b4c83..8b28064 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
@@ -19,17 +19,17 @@
 
 package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import org.apache.isis.applib.annotation.BookmarkPolicy;
 import org.apache.isis.applib.annotation.Bookmarkable;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotation;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetFactoryTest {
 
     private BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory facetFactory;
@@ -52,7 +52,7 @@ public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
@@ -67,7 +67,7 @@ public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
index 370fe38..f8db4f9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
@@ -49,7 +49,7 @@ public class ChoicesFacetFromBoundedMarkerInterfaceFactoryTest extends AbstractF
         class Customer implements Bounded {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ChoicesFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
index ad53742..e32604f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class CreatedCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "created");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CreatedCallbackFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
index 4ca1cd9..f9bb30d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
@@ -55,7 +55,7 @@ public class DeleteCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "deleting");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RemovingCallbackFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DeleteCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "deleted");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RemovedCallbackFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
index 212b5b7..4bd3637 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
@@ -49,7 +49,7 @@ public class ChoicesFacetFromBoundedAnnotationFactoryTest extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.processBounded(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.processBounded(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ChoicesFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 6985e3a..00f3856 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -139,7 +139,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-            facetFactory.processAuditing(new ProcessClassContext(HasTransactionId.class, null, mockMethodRemover, facetHolder));
+            facetFactory.processAuditing(new ProcessClassContext(HasTransactionId.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AuditableFacet.class);
             Assert.assertNull(facet);
@@ -153,7 +153,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.processAuditing(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.processAuditing(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 assertThat(facet, is(notNullValue()));
@@ -166,7 +166,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -178,7 +178,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -198,7 +198,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void has_annotation() {
 
-                facetFactory.process(new ProcessClassContext(CustomerWithAuditedAnnotation.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithAuditedAnnotation.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -210,7 +210,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void does_not_have_annotation() {
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -226,7 +226,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -239,7 +239,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -251,7 +251,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -266,7 +266,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.audit.objects", null);
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -283,7 +283,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -317,7 +317,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-            facetFactory.process(new ProcessClassContext(HasTransactionId.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(HasTransactionId.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
             Assert.assertNull(facet);
@@ -331,7 +331,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -344,7 +344,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -356,7 +356,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -372,7 +372,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -385,7 +385,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -397,7 +397,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -413,7 +413,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.publish.objects", null);
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -430,7 +430,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -467,7 +467,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepositoryAndAction() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepositoryAndAction.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepositoryAndAction.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNotNull(facet);
@@ -485,7 +485,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepository() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepository.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepository.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNotNull(facet);
@@ -503,7 +503,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAnnotationButNoAutoComplete() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoAutoCompleteRepository.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoAutoCompleteRepository.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNull(facet);
@@ -514,7 +514,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNull(facet);
@@ -547,7 +547,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndBoundedSetToTrue() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToTrue.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToTrue.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNotNull(facet);
@@ -560,7 +560,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepository() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToFalse.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToFalse.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNull(facet);
@@ -571,7 +571,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNull(facet);
@@ -606,7 +606,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_true() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -618,7 +618,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_false() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -631,7 +631,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -651,7 +651,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void has_annotation() {
 
-                final ProcessClassContext processClassContext = new ProcessClassContext(CustomerWithImmutableAnnotation.class, null, mockMethodRemover, facetHolder);
+                final ProcessClassContext processClassContext = new ProcessClassContext(CustomerWithImmutableAnnotation.class, mockMethodRemover, facetHolder);
                 facetFactory.process(processClassContext);
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
@@ -664,7 +664,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void does_not_have_annotation() {
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -680,7 +680,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_true() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -692,7 +692,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_false() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -705,7 +705,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -720,7 +720,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -736,7 +736,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -768,7 +768,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndObjectTypeSetToTrue() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndObjectTypeSet.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndObjectTypeSet.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNotNull(facet);
@@ -785,7 +785,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndObjectTypeNotSet() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoObjectType.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoObjectType.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNull(facet);
@@ -796,7 +796,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNull(facet);
@@ -841,7 +841,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToJdoEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToJdoEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToJdoEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
@@ -852,7 +852,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToNotSpecified() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToNotSpecified.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToNotSpecified.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
@@ -863,7 +863,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToViewModel() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToViewModel.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToViewModel.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -881,7 +881,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToExternalEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToExternalEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToExternalEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -898,7 +898,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToInmemoryEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToInmemoryEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToInmemoryEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -915,7 +915,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
index 8bf3101..d6b4721 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
@@ -51,7 +51,7 @@ public class ObjectTypeAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
         
         expectNoMethodsRemoved();
         
-        facetFactory.processObjectType(new ProcessClassContext(Customer.class, null, mockMethodRemover, facetHolder));
+        facetFactory.processObjectType(new ProcessClassContext(Customer.class, mockMethodRemover, facetHolder));
 
         final ObjectSpecIdFacet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
         
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
index 24ce5dc..8b8a66d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
@@ -112,7 +112,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNotNull(facet);
@@ -129,7 +129,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNull(facet);
@@ -145,7 +145,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNotNull(facet);
@@ -163,7 +163,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNull(facet);
@@ -196,7 +196,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNotNull(facet);
@@ -213,7 +213,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNull(facet);
@@ -229,7 +229,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNotNull(facet);
@@ -246,7 +246,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNull(facet);
@@ -275,7 +275,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNotNull(facet);
@@ -293,7 +293,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNull(facet);
@@ -309,7 +309,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNotNull(facet);
@@ -327,7 +327,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNull(facet);
@@ -355,7 +355,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNotNull(facet);
@@ -372,7 +372,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNull(facet);
@@ -388,7 +388,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNotNull(facet);
@@ -405,7 +405,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNull(facet);
@@ -433,7 +433,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNotNull(facet);
@@ -450,7 +450,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNull(facet);
@@ -466,7 +466,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNotNull(facet);
@@ -483,7 +483,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNull(facet);
@@ -511,7 +511,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNotNull(facet);
@@ -528,7 +528,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls,mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNull(facet);
@@ -544,7 +544,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNotNull(facet);
@@ -561,7 +561,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNull(facet);
@@ -589,7 +589,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNotNull(facet);
@@ -606,7 +606,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNull(facet);
@@ -622,7 +622,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNotNull(facet);
@@ -639,7 +639,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
index 8c01e4b..ee80dca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
@@ -51,7 +51,7 @@ public class DomainServiceFacetAnnotationFactoryTest extends AbstractFacetFactor
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
index 4460313..8200e59 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
@@ -54,7 +54,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -93,7 +93,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -113,7 +113,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
index 60c9edd..4103c26 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
@@ -48,7 +48,7 @@ public class AggregatedAnnotationFactoryTest extends AbstractFacetFactoryTest {
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         assertThat(facetFactory.classesWithAnnotation.size(), is(1));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
index 858406f..035e657 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
@@ -99,7 +99,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
@@ -126,7 +126,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
@@ -146,7 +146,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
index dc585c2..d03a1d5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
@@ -108,7 +108,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -137,7 +137,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertySetterFacet.class);
         assertNotNull(facet);
@@ -166,7 +166,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyInitializationFacet.class);
         assertNotNull(facet);
@@ -194,7 +194,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(NotPersistedFacet.class));
         assertNull(facetedMethod.getFacet(NotPersistedFacet.class));
@@ -223,7 +223,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyModifyMethod = findMethod(Customer.class, "modifyFirstName", new Class[] { String.class });
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactoryForModify.process(processMethodContext);
         facetFactoryForSetter.process(processMethodContext);
 
@@ -260,7 +261,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForModify.process(processMethodContext);
         disabledFacetOnPropertyInferredFactory.process(processMethodContext);
@@ -299,7 +301,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
         final Method propertyModifyMethod = findMethod(Customer.class, "modifyFirstName", new Class[] { String.class });
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForModify.process(processMethodContext);
 
@@ -331,7 +334,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyClearMethod = findMethod(Customer.class, "clearFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyClearFacet.class);
         assertNotNull(facet);
@@ -360,7 +363,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyClearFacet.class);
         assertNotNull(facet);
@@ -388,7 +391,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyChoicesMethod = findMethod(Customer.class, "choicesFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyChoicesFacet.class);
         assertNotNull(facet);
@@ -429,7 +432,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyAutoCompleteMethod = findMethod(Customer.class, "autoCompleteFirstName", new Class[]{String.class});
         
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
         
         final Facet facet = facetedMethod.getFacet(PropertyAutoCompleteFacet.class);
         assertNotNull(facet);
@@ -459,7 +462,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDefaultMethod = findMethod(Customer.class, "defaultFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyDefaultFacet.class);
         assertNotNull(facet);
@@ -489,7 +492,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyValidateMethod = findMethod(Customer.class, "validateFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyValidateFacet.class);
         assertNotNull(facet);
@@ -519,7 +522,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDisableMethod = findMethod(Customer.class, "disableFirstName", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForContextFacet.class);
         assertNotNull(facet);
@@ -549,7 +552,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDisableMethod = findMethod(Customer.class, "disableFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForContextFacet.class);
         assertNotNull(facet);
@@ -579,7 +582,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyHideMethod = findMethod(Customer.class, "hideFirstName", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForContextFacet.class);
         assertNotNull(facet);
@@ -609,7 +612,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyHideMethod = findMethod(Customer.class, "hideFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForContextFacet.class);
         assertNotNull(facet);
@@ -637,7 +640,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -682,7 +685,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyHideMethod = findMethod(CustomerEx.class, "hideFirstName");
         final Method propertyDisableMethod = findMethod(CustomerEx.class, "disableFirstName");
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForHide.process(processMethodContext);
         facetFactoryForDisable.process(processMethodContext);
@@ -758,7 +762,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method nameMethod = findMethod(CustomerStatic.class, "nameFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -777,7 +781,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -796,7 +800,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method propertyAlwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -812,7 +816,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getLastName");
         final Method propertyAlwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideLastName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -827,7 +831,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method propertyProtectMethod = findMethod(CustomerStatic.class, "protectFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -844,7 +848,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getLastName");
         final Method propertyProtectMethod = findMethod(CustomerStatic.class, "protectLastName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNull(facet);
@@ -860,7 +864,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method hideMethod = findMethod(CustomerStatic.class, "hideFirstName", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -880,7 +884,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method disableMethod = findMethod(CustomerStatic.class, "disableFirstName", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
index 929c076..1dd9b0f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
@@ -56,7 +56,7 @@ public class DisabledAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -77,7 +77,7 @@ public class DisabledAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
index 63c57f3..a25df7b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
@@ -52,7 +52,7 @@ public class HiddenAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnProperty.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
index 5945bf3..eaed9de 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
@@ -48,7 +48,7 @@ public class MandatoryAnnotationFacetFactoryTest extends AbstractFacetFactoryTes
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
index f811212..8ef200a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
@@ -102,7 +102,8 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
                 oneOf(mockFacetedMethod).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty.class)));
             }
         });
-        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null, null, firstNameMethodWith, mockMethodRemover, mockFacetedMethod));
+        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null,
+                firstNameMethodWith, mockMethodRemover, mockFacetedMethod));
     }
 
     @Test
@@ -113,7 +114,8 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
                 never(mockFacetedMethod).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty.class)));
             }
         });
-        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null, null, firstNameMethodWithout, mockMethodRemover, mockFacetedMethod));
+        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null,
+                firstNameMethodWithout, mockMethodRemover, mockFacetedMethod));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
index 153c257..8171975 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
@@ -47,7 +47,7 @@ public class NotPersistedAnnotationOnPropertyFacetFactoryTest extends AbstractFa
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
index 4b8ccd7..150bf2f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
@@ -46,7 +46,7 @@ public class OptionalAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -64,7 +64,7 @@ public class OptionalAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method method = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(MandatoryFacet.class));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 11a670c..8272f6f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -183,7 +183,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -235,7 +236,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -286,7 +288,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -338,7 +341,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             }});
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -383,7 +387,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -423,7 +428,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processEditing(processMethodContext);
 
             // then
@@ -458,7 +464,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processMaxLength(processMethodContext);
 
             // then
@@ -509,7 +516,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processMustSatisfy(processMethodContext);
 
             // then
@@ -547,7 +555,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processNotPersisted(processMethodContext);
 
             // then
@@ -579,7 +588,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -607,7 +617,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -635,7 +646,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -661,7 +673,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -692,7 +705,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -721,7 +735,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -748,7 +763,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -775,7 +791,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
index 7c85514..80f7cdd 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
@@ -49,7 +49,7 @@ public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFact
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RegExFacet.class);
         assertNotNull(facet);
@@ -70,7 +70,7 @@ public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFact
         }
         final Method method = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(RegExFacet.class));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
index f26ed39..0350c83 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
@@ -51,14 +51,13 @@ public class LabelAtFacetForPropertyLayoutAnnotationFactoryTest extends Abstract
         final Method method = findMethod(Customer.class, "getFirstName");
 
         final ProcessMethodContext processMethodContext =
-                new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
+                new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod);
 
         // when
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processLabelAt(holder, properties, propertyLayout);
+        facetFactory.processLabelAt(holder, propertyLayout);
 
         // then
         final Facet facet = facetedMethod.getFacet(LabelAtFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
index 5750433..ff6022b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.properties.propertylayout;
 
 import java.lang.reflect.Method;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -49,14 +48,13 @@ public class NamedFacetForPropertyLayoutAnnotationFactoryTest extends AbstractFa
         final Method method = findMethod(Customer.class, "getFirstName");
 
         // when
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method,
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, method,
                 methodRemover, facetedMethod);
 
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processNamed(holder, properties, propertyLayout);
+        facetFactory.processNamed(holder, propertyLayout);
 
         // then
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
@@ -79,14 +77,13 @@ public class NamedFacetForPropertyLayoutAnnotationFactoryTest extends AbstractFa
         final Method method = findMethod(Customer.class, "getFirstName");
 
         // when
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method,
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, method,
                 methodRemover, facetedMethod);
 
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processNamed(holder, properties, propertyLayout);
+        facetFactory.processNamed(holder, propertyLayout);
 
         // then
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
index d482d64..e54ea0e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
@@ -46,7 +46,7 @@ public class JavaxValidationDigitsAnnotationFacetFactoryTest extends AbstractFac
         }
         final Method method = findMethod(Order.class, "getCost");
 
-        facetFactory.process(new ProcessMethodContext(Order.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Order.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
deleted file mode 100644
index 47cba1a..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.propparam.typicallength;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthFacetOnPropertyAnnotation;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
-
-public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    public void testTypicalLengthAnnotationPickedUpOnProperty() {
-        final TypicalLengthOnPropertyFacetFactory facetFactory = new TypicalLengthOnPropertyFacetFactory();
-
-        class Customer {
-            @SuppressWarnings("unused")
-            public String getFirstName() {
-                return null;
-            }
-        }
-        final Method method = findMethod(Customer.class, "getFirstName");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypicalLengthFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypicalLengthFacetOnPropertyAnnotation);
-        final TypicalLengthFacetOnPropertyAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetOnPropertyAnnotation) facet;
-        assertEquals(30, typicalLengthFacetAnnotation.value());
-    }
-
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java
deleted file mode 100644
index bd520b4..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-public class ExampleDomainObject {
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
deleted file mode 100644
index 4b908f1..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import com.google.common.base.Objects;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-public class LayoutMetadataReaderFromJsonTest_read {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private ServicesInjector mockServicesInjector;
-
-    @Mock
-    private GridService mockGridService;
-
-    private LayoutMetadataReaderFromJson reader;
-
-    @Before
-    public void setUp() throws Exception {
-        reader = new LayoutMetadataReaderFromJson();
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(GridService.class);
-            will(returnValue(mockGridService));
-        }});
-
-        reader.setServicesInjector(mockServicesInjector);
-    }
-    
-    @Test
-    public void happyCase() throws Exception {
-
-        context.checking(new Expectations() {{
-            ignoring(mockGridService);
-        }});
-
-        final Properties properties = reader.asProperties(ExampleDomainObject.class);
-        assertThat(properties, is(not(nullValue())));
-        
-        final Properties expectedProperties = ClassExtensions.resourceProperties(ExampleDomainObject.class, ".layout.properties");
-        
-        final Set<Object> expectedSet = expectedProperties.keySet();
-        final Set<Object> actualSet = properties.keySet();
-        final SortedSet<Object> keys = new TreeSet<>();
-        keys.addAll(expectedSet);
-        keys.addAll(actualSet);
-        
-        final StringBuilder buf = new StringBuilder("\n");
-        boolean fail = false;
-        for (Object keyObj : keys) {
-            final String key = (String) keyObj;
-            final String expectedValue = expectedProperties.getProperty(key);
-            final String actualValue = properties.getProperty(key);
-            
-            final boolean expectedKey = expectedSet.contains(keyObj);
-            final boolean matches = Objects.equal(trimmed(expectedValue), trimmed(actualValue)) || !expectedKey;
-            final String result = matches? (expectedKey?"OK":"N/A"):"FAIL";
-            if(!result.equals("OK")) {
-                buf.append(String.format("%1$-40s %2$-5s %3$-40s %4$-40s\n", key, result, expectedValue, actualValue));
-            }
-            fail = fail || !matches;
-        }
-        if(fail) {
-            Assert.fail(buf.toString());
-        }
-    }
-
-    private String trimmed(String expectedValue) {
-        return expectedValue != null? expectedValue.trim(): expectedValue;
-    }
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
deleted file mode 100644
index f8a6539..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-public class LayoutMetadataReaderFromJsonTest_readMetadata {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private ServicesInjector mockServicesInjector;
-
-    @Mock
-    private GridService mockGridService;
-
-
-    private LayoutMetadataReaderFromJson reader;
-
-    @Before
-    public void setUp() throws Exception {
-        reader = new LayoutMetadataReaderFromJson();
-
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(GridService.class);
-            will(returnValue(mockGridService));
-        }});
-
-        reader.setServicesInjector(mockServicesInjector);
-    }
-    
-    @Test
-    public void happyCase() throws Exception {
-
-        context.checking(new Expectations() {{
-            ignoring(mockGridService);
-        }});
-
-        final LayoutMetadata metadata = reader.asLayoutMetadata(ExampleDomainObject.class);
-        assertThat(metadata, is(not(nullValue())));
-        assertThat(metadata.getColumns(), is(not(nullValue())));
-        assertThat(metadata.getColumns().size(), is(4));
-        assertThat(metadata.getColumns().get(0).span, is(3));
-        assertThat(metadata.getColumns().get(1).span, is(4));
-        assertThat(metadata.getColumns().get(2).span, is(0));
-        assertThat(metadata.getColumns().get(3).span, is(5));
-        
-        assertThat(metadata.getColumns().get(0).memberGroups, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.size(), is(2));
-        assertThat(metadata.getColumns().get(0).memberGroups.containsKey("General"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.size(), is(3));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.containsKey("complete"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions.size(), is(2));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions.containsKey("completed"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").propertyLayout.named, is(equalTo("the name of complete property")));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").propertyLayout.namedEscaped, is(true));
-
-        assertThat(metadata.getColumns().get(3).collections, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.containsKey("dependencies"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions.size(), is(2));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions.containsKey("add"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").paged, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").paged, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").render, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").render.value, is(nullValue()));
-        
-        assertThat(metadata.getColumns().get(3).collections.containsKey("similarItems"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("similarItems").render, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("similarItems").render.value, is(RenderType.LAZILY));
-
-        assertThat(metadata.getActions(), is(not(nullValue())));
-        assertThat(metadata.getActions().size(), is(2));
-        assertThat(metadata.getActions().containsKey("delete"), is(true));
-
-        assertThat(metadata.getColumns().get(0).memberGroups.get("Misc").members.get("versionSequence").propertyLayout.namedEscaped, is(false));
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
index 8f4a51c..47b2183 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -41,8 +41,6 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
 import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
@@ -109,8 +107,7 @@ public abstract class SpecificationLoaderTestAbstract {
         final SpecificationLoader specificationLoader =
                 new SpecificationLoader(
                         new ProgrammingModelFacetsJava5(stubConfiguration),
-                        new MetaModelValidatorDefault(), Lists.<LayoutMetadataReader>newArrayList(
-                                new LayoutMetadataReaderFromJson()), stubServicesInjector);
+                        new MetaModelValidatorDefault(), stubServicesInjector);
 
         stubServicesInjector.addFallbackIfRequired(SpecificationLoader.class, specificationLoader);
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index ba36638..4a2eb61 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -71,7 +71,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationDefaultsLengthIfMissing() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotationMissingLength");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -82,7 +82,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationDefaultsScaleIfMissing() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotationMissingScale");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -94,7 +94,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
         
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getStringPropertyWithColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNull(facet);
@@ -104,7 +104,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
         
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithoutColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index dc4b385..5e4f35b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
 
     public void testPrimitiveWithNoAnnotation_isMandatory() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithNoAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -69,7 +69,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testPrimitiveWithNoAllowsNull_isMandatory() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithNoAllowsNull");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testPrimitiveWithAllowsNullFalse() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithAllowsNullFalse");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -89,7 +89,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
 
     public void testPrimitiveWithAllowsNullTrue() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithAllowsNullTrue");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -99,7 +99,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithNoAnnotation_isOptional() throws Exception {
         final Method method = cls.getMethod("getReferenceWithNoAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -109,7 +109,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithNoAllowsNull_isOptional() throws Exception {
         final Method method = cls.getMethod("getReferenceWithNoAllowsNull");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -119,7 +119,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithAllowsNullFalse() throws Exception {
         final Method method = cls.getMethod("getReferenceWithAllowsNullFalse");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -129,7 +129,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithAllowsNullTrue() throws Exception {
         final Method method = cls.getMethod("getReferenceWithAllowsNullTrue");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
index 8c18680..89b04b8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
@@ -58,7 +58,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
     public void testNotPersistentAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithNotPersistentColumn.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoNotPersistentFacet.class);
         assertNotNull(facet);
@@ -68,7 +68,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
     public void testNotPersistedDerived() throws Exception {
         final Class<?> cls = SimpleObjectWithNotPersistentColumn.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
@@ -94,7 +94,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoNotPersistentFacet.class);
         assertNull(facet);
@@ -117,7 +117,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         assertNoMethodsRemoved();
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
index aaeb530..1463ada 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testIdAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoPrimaryKeyFacet.class);
         assertNotNull(facet);
@@ -69,7 +69,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testOptionalDerivedFromId() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testDisabledDerivedFromId() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -105,7 +105,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoPrimaryKeyFacet.class);
         assertNull(facet);
@@ -129,7 +129,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         assertNoMethodsRemoved();
     }
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
deleted file mode 100644
index eef29fb..0000000
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-{
-    "columns": [
-    {
-        "span": 3,
-        "memberGroups": {
-            "General": {
-                "members": {
-                    "description": {
-                        "typicalLength": {
-                            "value": 50
-                        }
-                    },
-                    "category": {},
-                    "complete": {
-                        "actions": {
-                            "completed": {
-                                "named": { "value": "Done" },
-                                "describedAs": {
-                                    "value": "Mark this todo item as having been completed"
-                                }
-                            },
-                            "notYetCompleted": {}
-                        },
-                        "propertyLayout": {
-                            "named": "the name of complete property"
-                        },
-                        "describedAs": {
-                            "value": "Whether this todo item has been completed"
-                        },
-                        "cssClass": { "value": "x-highlight" },
-                        "disabled": {
-                            "where": "ANYWHERE",
-                            "when": "ALWAYS"
-                        }
-                    }
-                }
-            },
-            "Misc": {
-                "members": {
-                    "versionSequence": {
-                        "hidden": {
-                            "where": "ALL_TABLES",
-                            "when": "ALWAYS"
-                        },
-                        "propertyLayout": {
-                            "namedEscaped": false
-                        }
-                    }
-                }
-            }
-        }
-    },
-    {
-        "span": 4,
-        "memberGroups": {
-            "Detail": {
-                "members": {
-                    "dueBy": {
-                        "actions": {
-                            "dueBy": {
-                                "cssClass": { "value": "x-key2" }
-                            }
-                        },
-                        "cssClass": { "value": "x-key" }
-                    },
-                    "cost": {
-                        "actions": {
-                            "updateCost":{}
-                        }
-                    },
-                    "notes": {
-                        "multiLine": {
-                            "numberOfLines": 5
-                        }
-                    },
-                    "attachment": {}
-                }
-            }
-        }
-    },
-    {
-        "span": 0
-    },
-    {
-        "span": 5,
-        "collections": {
-            "dependencies": {
-                "actions": {
-                    "add":{},
-                    "remove": {
-                        "cssClass": { "value": "x-caution" }
-                    }
-                },
-                "paged": {
-                    "value": 5
-                },
-                "render": {}
-            },
-            "similarItems": {
-                "render": {
-                    "value": "LAZILY"
-                }
-            }
-        }
-    }
-    ],
-    "actions": {
-        "delete": {
-            "cssClass": { "value": "x-caution" }
-        },
-        "duplicate": {
-            "named": {
-                "value": "Clone"
-            },
-            "describedAs": {
-                "value": "Create a new todo item from this one"
-            }
-        }
-    }
-}
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
deleted file mode 100644
index 095535b..0000000
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
+++ /dev/null
@@ -1,106 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You under the Apache License, Version 2.0
-#  (the "License"); you may not use this file except in compliance with
-#  the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-###########################################
-# MemberGroupLayout
-###########################################
-
-class.memberGroupLayout.columnSpans=3,4,0,5
-class.memberGroupLayout.left=General,Misc
-class.memberGroupLayout.middle=Detail
-class.memberGroupLayout.right=
-
-
-###########################################
-# MemberOrder
-###########################################
-
-# Properties (General) 
-member.description.memberOrder.name=General
-member.description.typicalLength.value=50
-member.category.memberOrder.name=General
-member.complete.memberOrder.name=General
-member.complete.propertyLayout.named=the name of complete property
-member.complete.cssClass.value=x-highlight
-member.complete.describedAs.value=Whether this todo item has been completed
-member.complete.disabled.where=ANYWHERE
-member.complete.disabled.when=ALWAYS
-
-member.description.memberOrder.sequence=1
-member.category.memberOrder.sequence=2
-member.complete.memberOrder.sequence=3
-
-# Properties (Misc)
-member.versionSequence.memberOrder.name=Misc
-member.versionSequence.memberOrder.sequence=4
-member.versionSequence.hidden.where=ALL_TABLES
-member.versionSequence.hidden.when=ALWAYS
-member.versionSequence.propertyLayout.namedEscaped=false
-
-# Properties (Detail)
-member.dueBy.memberOrder.name=Detail
-member.cost.memberOrder.name=Detail
-member.notes.memberOrder.name=Detail
-member.notes.multiLine.numberOfLines=5
-member.attachment.memberOrder.name=Detail
-
-member.dueBy.memberOrder.sequence=5
-member.dueBy.cssClass.value=x-key
-member.cost.memberOrder.sequence=6
-member.notes.memberOrder.sequence=7
-member.attachment.memberOrder.sequence=8
-
-
-#Collections
-member.dependencies.memberOrder.sequence=9
-member.dependencies.paged.value=5
-member.dependencies.render.value=EAGERLY
-
-member.similarItems.memberOrder.sequence=10
-member.similarItems.render.value=LAZILY
-
-
-#Actions (freestanding)
-member.delete().memberOrder.sequence=1
-member.delete().cssClass.value=x-caution
-member.duplicate().memberOrder.sequence=2
-member.duplicate().named.value=Clone
-member.duplicate().describedAs.value=Create a new todo item from this one
-
-
-#Actions (associated with properties)
-action.completed.memberOrder.name=complete
-action.completed.named.value=Done
-action.completed.describedAs.value=Mark this todo item as having been completed 
-action.notYetCompleted.memberOrder.name=complete
-
-action.completed.memberOrder.sequence=1
-action.notYetCompleted.memberOrder.sequence=2
-
-action.updateCost.memberOrder.name=cost
-action.updateCost.memberOrder.sequence=1
-
-action.dueBy.memberOrder.name=dueBy
-action.dueBy.memberOrder.sequence=1
-action.dueBy.cssClass.value=x-key2
-
-#Actions (associated with collections)
-action.add.memberOrder.name=dependencies
-action.remove.memberOrder.name=dependencies
-action.remove.cssClass.value=x-caution
-
-
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
index 6616d68..27984bb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
@@ -49,7 +49,6 @@ import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.commons.lang.ClassUtil;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.ReflectorConstants;
@@ -258,11 +257,9 @@ public abstract class IsisComponentProvider {
 
         final MetaModelValidator mmv = createMetaModelValidator();
 
-        final List<LayoutMetadataReader> layoutMetadataReaders = createLayoutMetadataReaders();
-
         return JavaReflectorHelper.createObjectReflector(
                 configuration, programmingModel, metaModelRefiners,
-                layoutMetadataReaders, mmv,
+                mmv,
                 servicesInjector);
     }
 
@@ -282,22 +279,6 @@ public abstract class IsisComponentProvider {
         return programmingModel;
     }
 
-    protected List<LayoutMetadataReader> createLayoutMetadataReaders() {
-        final List<LayoutMetadataReader> layoutMetadataReaders = Lists.newArrayList();
-        final String[] layoutMetadataReaderClassNames =
-                configuration.getList(
-                        ReflectorConstants.LAYOUT_METADATA_READER_LIST,
-                        ReflectorConstants.LAYOUT_METADATA_READER_LIST_DEFAULT);
-
-        if (layoutMetadataReaderClassNames != null) {
-            for (final String layoutMetadataReaderClassName : layoutMetadataReaderClassNames) {
-                final LayoutMetadataReader layoutMetadataReader =
-                        InstanceUtil.createInstance(layoutMetadataReaderClassName, LayoutMetadataReader.class);
-                layoutMetadataReaders.add(layoutMetadataReader);
-            }
-        }
-        return layoutMetadataReaders;
-    }
 
 
     //endregion
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index dbdda9f..871c776 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -293,6 +293,9 @@ sometimes there are multiple versions of a type, eg BookmarkService2 and Bookmar
 Also propose:
     make AppManifest mandatory
     remove support for Xxx.layout.json
+
+    - "reflector.layoutMetadataReaders" config prop
+
     remove support for contributed services (use mixins instead)
 
 Also for 2.0.0, new features/deprecations:

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.