You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/09/14 09:08:45 UTC

[isis] branch ISIS-1976-rethink-object-adapters updated (d1e9015 -> d2ed9af)

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

ahuber pushed a change to branch ISIS-1976-rethink-object-adapters
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from d1e9015  ISIS-1976: further removing OAs where not required
     new 4572450  ISIS-1976: further remove guava idioms from MM ('Lists')
     new d2ed9af  ISIS-1895: fix ResourceServlet not picked up on skinny war deployment

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../isis/commons/internal/collections/_Lists.java  | 20 +++++++
 .../AuthenticationSessionAbstract.java             |  4 +-
 .../core/commons/authentication/MessageBroker.java |  6 +-
 .../core/commons/components/InstallerAbstract.java | 15 +++--
 .../commons/config/IsisConfigurationDefault.java   |  4 +-
 .../configbuilder/IsisConfigurationBuilder.java    |  9 +--
 .../PrimerForEnvironmentVariableISIS_OPTS.java     |  5 +-
 .../isis/core/commons/encoding/FieldType.java      |  3 +-
 .../isis/core/commons/lang/ArrayExtensions.java    |  9 ++-
 .../isis/core/commons/lang/ClassFunctions.java     |  4 +-
 .../apache/isis/core/commons/lang/ClassUtil.java   |  4 +-
 .../isis/core/commons/lang/ListExtensions.java     | 15 +++--
 .../isis/core/commons/lang/StringExtensions.java   |  4 +-
 .../core/metamodel/adapter/oid/OidMarshaller.java  |  4 +-
 .../isis/core/metamodel/facets/Annotations.java    | 15 +++--
 .../core/metamodel/facets/CollectionUtils.java     |  3 +-
 .../facets/ContributeeMemberFacetFactory.java      |  2 -
 .../core/metamodel/facets/DomainEventHelper.java   |  9 +--
 .../isis/core/metamodel/facets/FacetedMethod.java  |  5 +-
 ...nChoicesForCollectionParameterFacetFactory.java |  2 -
 .../method/ActionDefaultsFacetViaMethod.java       |  5 +-
 .../ActionDefaultsFacetViaMethodFactory.java       |  2 +-
 .../annotation/HomePageFacetAnnotationFactory.java |  6 +-
 .../CssClassFacetForActionLayoutAnnotation.java    |  1 +
 .../DescribedAsFacetForActionLayoutAnnotation.java |  1 +
 .../NamedFacetForActionLayoutAnnotation.java       |  1 +
 ...dFacetDerivedFromDomainServiceFacetFactory.java |  1 +
 ...uFacetDerivedFromDomainServiceFacetFactory.java |  2 +-
 .../ActionParameterValidationFacetViaMethod.java   |  1 +
 .../ActionValidationFacetViaMethodFactory.java     |  1 +
 .../collections/CollectionFacetAbstract.java       |  2 +-
 .../modify/CollectionDomainEventFacetAbstract.java |  6 +-
 ...abledFacetOnCollectionDerivedFromImmutable.java |  2 +-
 ...CssClassFacetForCollectionLayoutAnnotation.java |  1 +
 ...cribedAsFacetForCollectionLayoutAnnotation.java |  1 +
 .../NamedFacetForCollectionLayoutAnnotation.java   |  1 +
 .../collections/modify/CollectionFacetUtils.java   |  1 +
 .../ParentedFacetSinceCollectionFactory.java       |  2 +-
 .../annotation/SortedByFacetAnnotationFactory.java |  1 -
 .../facets/fallback/FallbackFacetFactory.java      |  5 +-
 ...CssClassFaFacetOnMemberFromConfiguredRegex.java |  2 +-
 .../CssClassFaFacetOnMemberFromProperties.java     |  2 +-
 .../DisableForSessionFacetViaMethodFactory.java    |  1 +
 .../method/DisableForContextFacetViaMethod.java    |  4 +-
 .../HiddenFacetFromLayoutPropertiesAbstract.java   |  1 +
 .../HideForSessionFacetViaMethodFactory.java       |  2 +-
 .../HideForContextFacetViaMethodFactory.java       |  2 +-
 .../members/order/MemberOrderFacetAbstract.java    |  1 +
 .../callbacks/CreatedCallbackFacetFactory.java     |  2 +-
 .../object/callbacks/LoadCallbackFacetFactory.java |  2 +-
 .../callbacks/LoadedCallbackFacetAbstract.java     |  2 -
 .../callbacks/LoadingCallbackFacetAbstract.java    |  2 -
 .../callbacks/PersistCallbackFacetFactory.java     |  2 +-
 .../PersistCallbackViaSaveMethodFacetFactory.java  |  2 +-
 .../callbacks/PersistedCallbackFacetAbstract.java  |  2 -
 .../callbacks/PersistingCallbackFacetAbstract.java |  2 -
 .../callbacks/RemoveCallbackFacetFactory.java      |  2 +-
 .../RemoveCallbackViaDeleteMethodFacetFactory.java |  2 +-
 .../callbacks/RemovingCallbackFacetAbstract.java   |  2 -
 .../callbacks/UpdateCallbackFacetFactory.java      |  2 +-
 .../callbacks/UpdatedCallbackFacetAbstract.java    |  2 -
 .../callbacks/UpdatingCallbackFacetAbstract.java   |  2 -
 .../choices/enums/EnumValueSemanticsProvider.java  |  2 +-
 .../cssclass/method/CssClassFacetMethod.java       |  1 +
 .../method/CssClassFacetMethodFactory.java         |  1 +
 .../object/defaults/DefaultsProviderUtil.java      |  1 -
 .../annotcfg/DefaultedFacetAnnotation.java         |  2 +-
 .../annotcfg/DefaultedFacetFromConfiguration.java  |  2 +-
 ...AutoCompleteFacetForAutoCompleteAnnotation.java |  1 -
 ...ObjectSpecIdFacetForDomainObjectAnnotation.java |  1 +
 ...cIdFacetForJdoPersistenceCapableAnnotation.java |  2 +
 ...scribedAsFacetForViewModelLayoutAnnotation.java |  1 +
 .../NamedFacetForDomainObjectLayoutAnnotation.java |  1 +
 .../NamedFacetForViewModelLayoutAnnotation.java    |  2 -
 .../PluralFacetForViewModelLayoutAnnotation.java   |  1 +
 .../DomainServiceFacetAnnotationFactory.java       |  1 -
 ...NamedFacetForDomainServiceLayoutAnnotation.java |  1 +
 .../object/encodeable/EncoderDecoderUtil.java      |  1 -
 .../facets/object/facets/FacetsFacetAbstract.java  |  1 -
 .../hidden/method/HiddenObjectFacetViaMethod.java  |  2 +-
 .../method/HiddenObjectFacetViaMethodFactory.java  |  4 +-
 .../object/icon/method/IconFacetMethodFactory.java |  2 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |  5 +-
 .../ignore/javalang/RemoveMethodsFacetFactory.java |  6 +-
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |  5 +-
 .../method/NavigableParentFacetMethodFactory.java  |  2 +-
 ...jectSpecIdFacetDerivedFromClassNameFactory.java |  1 -
 ...erivedFromDomainServiceAnnotationElseGetId.java |  2 -
 .../ObjectValidPropertiesFacet.java                |  1 -
 .../facets/object/parseable/ParserUtil.java        |  1 +
 ...tyDerivedFromRecreatableObjectFacetFactory.java |  1 +
 .../annotation/TitleAnnotationFacetFactory.java    |  3 +-
 .../title/methods/TitleFacetViaMethodsFactory.java |  4 +-
 ...cationFromMustSatisfyAnnotationOnTypeFacet.java |  2 +-
 .../method/ValidateObjectFacetMethodFactory.java   |  2 +-
 .../facets/object/value/EqualByContentFacet.java   |  1 -
 .../value/annotcfg/ValueFacetAnnotation.java       |  1 -
 ...ValueFacetAnnotationOrConfigurationFactory.java |  1 -
 .../annotcfg/ValueFacetFromConfiguration.java      |  2 -
 .../ValueFacetUsingSemanticsProviderFactory.java   |  1 -
 .../MustSatisfySpecificationFacetAbstract.java     |  5 +-
 ...ctionParameterChoicesFacetViaMethodFactory.java |  1 -
 .../ActionParameterDefaultsFacetAbstract.java      |  1 -
 ...arameterDefaultFacetDerivedFromTypeFactory.java |  2 +-
 .../CssClassFacetForParameterLayoutAnnotation.java |  1 +
 ...scribedAsFacetForParameterLayoutAnnotation.java |  1 +
 .../NamedFacetForParameterLayoutAnnotation.java    |  1 -
 .../PropertyAutoCompleteFacetAbstract.java         |  1 -
 .../defaults/PropertyDefaultFacetAbstract.java     |  1 -
 .../hidden/HiddenFacetForPropertyAnnotation.java   |  2 -
 .../modify/PropertyDomainEventFacetAbstract.java   |  6 +-
 .../regex/RegExFacetForPropertyAnnotation.java     |  2 +
 .../CssClassFacetForPropertyLayoutAnnotation.java  |  1 +
 ...escribedAsFacetForPropertyLayoutAnnotation.java |  1 +
 .../update/PropertySetAndClearFacetFactory.java    |  1 +
 .../core/metamodel/facets/value/JodaFunctions.java |  1 -
 .../BigDecimalValueSemanticsProvider.java          |  1 -
 .../BooleanWrapperValueSemanticsProvider.java      |  1 -
 .../value/datejdk8local/Jdk8LocalDateUtil.java     |  3 +-
 .../Jdk8LocalDateValueSemanticsProvider.java       |  8 +--
 .../JodaLocalDateValueSemanticsProvider.java       |  4 +-
 .../datesql/JavaSqlDateValueSemanticsProvider.java |  1 -
 .../Jdk8LocalDateTimeValueSemanticsProvider.java   | 13 +++--
 .../JodaDateTimeValueSemanticsProvider.java        |  9 ++-
 .../JodaLocalDateTimeValueSemanticsProvider.java   |  4 +-
 .../JavaUtilDateValueSemanticsProvider.java        |  1 -
 ...ageValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../value/money/MoneyValueSemanticsProvider.java   |  2 +-
 .../PercentageValueSemanticsProvider.java          |  1 -
 ...imeValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../timesql/JavaSqlTimeValueSemanticsProvider.java |  1 -
 ...ampValueFacetUsingSemanticsProviderFactory.java |  1 +
 ...URLValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../interactions/ActionArgValidityContext.java     |  4 +-
 .../interactions/ActionUsabilityContext.java       |  4 +-
 .../interactions/ActionValidityContext.java        |  4 +-
 .../interactions/ActionVisibilityContext.java      |  4 +-
 .../interactions/CollectionAccessContext.java      |  4 +-
 .../interactions/CollectionRemoveFromContext.java  |  4 +-
 .../interactions/CollectionVisibilityContext.java  |  4 +-
 .../metamodel/interactions/ObjectTitleContext.java |  4 +-
 .../interactions/ObjectValidityContext.java        |  4 +-
 .../interactions/ObjectVisibilityContext.java      |  4 +-
 .../metamodel/interactions/ParseValueContext.java  |  4 +-
 .../interactions/PropertyAccessContext.java        |  4 +-
 .../interactions/PropertyModifyContext.java        |  4 +-
 .../interactions/PropertyUsabilityContext.java     |  4 +-
 .../interactions/PropertyVisibilityContext.java    |  4 +-
 .../isis/core/metamodel/layout/DeweyOrderSet.java  |  5 +-
 ...onParameterDefaultsAndChoicesPostProcessor.java |  4 +-
 .../core/metamodel/progmodel/DeprecatedMarker.java |  2 -
 .../progmodel/ProgrammingModelAbstract.java        |  9 ++-
 .../ApplicationFeatureRepositoryDefault.java       |  4 +-
 .../bookmarks/BookmarkServiceInternalDefault.java  |  4 +-
 .../config/ConfigurationServiceDefault.java        |  5 +-
 .../services/grid/GridLoaderServiceDefault.java    | 11 ++--
 .../services/grid/GridServiceDefault.java          |  3 +-
 .../services/grid/GridSystemServiceAbstract.java   | 15 ++---
 .../services/metamodel/DomainMemberDefault.java    |  8 +--
 .../metamodel/MetaModelServiceDefault.java         |  5 +-
 .../services/swagger/internal/Generation.java      |  3 -
 .../metamodel/services/swagger/internal/Util.java  |  6 +-
 .../swagger/internal/ValuePropertyFactory.java     |  4 --
 .../core/metamodel/spec/feature/CurrentHolder.java |  1 -
 .../core/metamodel/spec/feature/ObjectAction.java  |  6 +-
 .../spec/feature/ObjectActionParameter.java        |  6 +-
 .../core/metamodel/spec/feature/ObjectMember.java  |  7 +--
 .../spec/feature/OneToManyAssociation.java         |  4 --
 .../specloader/InjectorMethodEvaluatorDefault.java |  3 +
 .../metamodel/specloader/ServiceInitializer.java   |  4 ++
 .../metamodel/specloader/SpecificationLoader.java  |  4 +-
 .../classsubstitutor/ClassSubstitutor.java         |  4 +-
 .../specloader/facetprocessor/FacetProcessor.java  | 15 +++--
 .../specloader/specimpl/ContributeeMember.java     |  1 +
 .../specloader/specimpl/FacetedMethodsBuilder.java | 13 ++---
 .../specimpl/ObjectActionContributee.java          |  9 ++-
 .../specloader/specimpl/ObjectActionDefault.java   | 10 ++--
 .../specloader/specimpl/ObjectActionMixedIn.java   |  4 +-
 .../specimpl/ObjectActionParameterAbstract.java    |  8 +--
 .../specimpl/ObjectSpecificationAbstract.java      | 21 ++++---
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  8 +--
 .../validator/MetaModelValidatorComposite.java     |  5 +-
 .../MetaModelValidatorToCheckModuleExtent.java     |  9 +--
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |  4 +-
 .../validator/MetaModelValidatorVisiting.java      |  5 +-
 .../specloader/validator/ValidationFailures.java   |  1 +
 .../AuthenticationRequestAbstract.java             |  4 +-
 .../standard/AuthenticationManagerStandard.java    |  4 +-
 .../core/webapp/content/ResourceCachingFilter.java | 64 ++++++----------------
 .../isis/core/webapp/content/ResourceServlet.java  | 11 ++--
 .../JdoDiscriminatorAnnotationFacetFactory.java    |  1 +
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |  6 +-
 .../util/JdoPrimaryKeyPropertyPredicate.java       |  3 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |  8 +--
 .../core/commons/lang/ListUtilsTest_adjust.java    |  8 +--
 .../core/commons/lang/ListUtilsTest_insert.java    | 10 ++--
 .../metamodel/facets/AbstractFacetFactoryTest.java |  4 +-
 .../core/metamodel/facets/CollectionUtilsTest.java |  4 +-
 ...jectAssociationPredicatesTest_visibleWhere.java | 45 +++++++--------
 ...rvicesInjectorDefaultTest_validateServices.java |  4 +-
 .../ApplicationFeatureRepositoryDefaultTest.java   | 14 ++---
 .../core/metamodel/services/grid/BS3GridTest.java  | 10 ++--
 .../specloader/ServiceInitializerTest.java         | 15 +++--
 .../SpecificationLoaderTestAbstract.java           |  4 +-
 ...ionParameterAbstractTest_getId_and_getName.java |  8 +--
 .../apache/isis/core/webapp/modules/WebModule.java |  1 +
 .../core/webapp/modules/WebModule_RestEasy.java    | 11 +++-
 ...trapper.java => WebModule_StaticResources.java} | 44 ++++++++++++---
 .../IsisTransactionFilterForRestfulObjects.java    |  7 +--
 209 files changed, 480 insertions(+), 490 deletions(-)
 copy core/runtime/src/main/java/org/apache/isis/core/webapp/modules/{WebModule_FallbackBootstrapper.java => WebModule_StaticResources.java} (50%)


[isis] 01/02: ISIS-1976: further remove guava idioms from MM ('Lists')

Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch ISIS-1976-rethink-object-adapters
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4572450efcb2e19ba6d45822e2426cf68a39050e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 14 09:49:02 2018 +0200

    ISIS-1976: further remove guava idioms from MM ('Lists')
    
    also in MM remove unused imports from Java classes
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
 .../isis/commons/internal/collections/_Lists.java  | 20 ++++++++++
 .../AuthenticationSessionAbstract.java             |  4 +-
 .../core/commons/authentication/MessageBroker.java |  6 +--
 .../core/commons/components/InstallerAbstract.java | 15 +++++---
 .../commons/config/IsisConfigurationDefault.java   |  4 +-
 .../configbuilder/IsisConfigurationBuilder.java    |  9 +++--
 .../PrimerForEnvironmentVariableISIS_OPTS.java     |  5 ++-
 .../isis/core/commons/encoding/FieldType.java      |  3 +-
 .../isis/core/commons/lang/ArrayExtensions.java    |  9 ++---
 .../isis/core/commons/lang/ClassFunctions.java     |  4 +-
 .../apache/isis/core/commons/lang/ClassUtil.java   |  4 +-
 .../isis/core/commons/lang/ListExtensions.java     | 15 +++++---
 .../isis/core/commons/lang/StringExtensions.java   |  4 +-
 .../core/metamodel/adapter/oid/OidMarshaller.java  |  4 +-
 .../isis/core/metamodel/facets/Annotations.java    | 15 ++++----
 .../core/metamodel/facets/CollectionUtils.java     |  3 +-
 .../facets/ContributeeMemberFacetFactory.java      |  2 -
 .../core/metamodel/facets/DomainEventHelper.java   |  9 ++---
 .../isis/core/metamodel/facets/FacetedMethod.java  |  5 +--
 ...nChoicesForCollectionParameterFacetFactory.java |  2 -
 .../method/ActionDefaultsFacetViaMethod.java       |  5 ++-
 .../ActionDefaultsFacetViaMethodFactory.java       |  2 +-
 .../annotation/HomePageFacetAnnotationFactory.java |  6 +--
 .../CssClassFacetForActionLayoutAnnotation.java    |  1 +
 .../DescribedAsFacetForActionLayoutAnnotation.java |  1 +
 .../NamedFacetForActionLayoutAnnotation.java       |  1 +
 ...dFacetDerivedFromDomainServiceFacetFactory.java |  1 +
 ...uFacetDerivedFromDomainServiceFacetFactory.java |  2 +-
 .../ActionParameterValidationFacetViaMethod.java   |  1 +
 .../ActionValidationFacetViaMethodFactory.java     |  1 +
 .../collections/CollectionFacetAbstract.java       |  2 +-
 .../modify/CollectionDomainEventFacetAbstract.java |  6 +--
 ...abledFacetOnCollectionDerivedFromImmutable.java |  2 +-
 ...CssClassFacetForCollectionLayoutAnnotation.java |  1 +
 ...cribedAsFacetForCollectionLayoutAnnotation.java |  1 +
 .../NamedFacetForCollectionLayoutAnnotation.java   |  1 +
 .../collections/modify/CollectionFacetUtils.java   |  1 +
 .../ParentedFacetSinceCollectionFactory.java       |  2 +-
 .../annotation/SortedByFacetAnnotationFactory.java |  1 -
 .../facets/fallback/FallbackFacetFactory.java      |  5 +--
 ...CssClassFaFacetOnMemberFromConfiguredRegex.java |  2 +-
 .../CssClassFaFacetOnMemberFromProperties.java     |  2 +-
 .../DisableForSessionFacetViaMethodFactory.java    |  1 +
 .../method/DisableForContextFacetViaMethod.java    |  4 +-
 .../HiddenFacetFromLayoutPropertiesAbstract.java   |  1 +
 .../HideForSessionFacetViaMethodFactory.java       |  2 +-
 .../HideForContextFacetViaMethodFactory.java       |  2 +-
 .../members/order/MemberOrderFacetAbstract.java    |  1 +
 .../callbacks/CreatedCallbackFacetFactory.java     |  2 +-
 .../object/callbacks/LoadCallbackFacetFactory.java |  2 +-
 .../callbacks/LoadedCallbackFacetAbstract.java     |  2 -
 .../callbacks/LoadingCallbackFacetAbstract.java    |  2 -
 .../callbacks/PersistCallbackFacetFactory.java     |  2 +-
 .../PersistCallbackViaSaveMethodFacetFactory.java  |  2 +-
 .../callbacks/PersistedCallbackFacetAbstract.java  |  2 -
 .../callbacks/PersistingCallbackFacetAbstract.java |  2 -
 .../callbacks/RemoveCallbackFacetFactory.java      |  2 +-
 .../RemoveCallbackViaDeleteMethodFacetFactory.java |  2 +-
 .../callbacks/RemovingCallbackFacetAbstract.java   |  2 -
 .../callbacks/UpdateCallbackFacetFactory.java      |  2 +-
 .../callbacks/UpdatedCallbackFacetAbstract.java    |  2 -
 .../callbacks/UpdatingCallbackFacetAbstract.java   |  2 -
 .../choices/enums/EnumValueSemanticsProvider.java  |  2 +-
 .../cssclass/method/CssClassFacetMethod.java       |  1 +
 .../method/CssClassFacetMethodFactory.java         |  1 +
 .../object/defaults/DefaultsProviderUtil.java      |  1 -
 .../annotcfg/DefaultedFacetAnnotation.java         |  2 +-
 .../annotcfg/DefaultedFacetFromConfiguration.java  |  2 +-
 ...AutoCompleteFacetForAutoCompleteAnnotation.java |  1 -
 ...ObjectSpecIdFacetForDomainObjectAnnotation.java |  1 +
 ...cIdFacetForJdoPersistenceCapableAnnotation.java |  2 +
 ...scribedAsFacetForViewModelLayoutAnnotation.java |  1 +
 .../NamedFacetForDomainObjectLayoutAnnotation.java |  1 +
 .../NamedFacetForViewModelLayoutAnnotation.java    |  2 -
 .../PluralFacetForViewModelLayoutAnnotation.java   |  1 +
 .../DomainServiceFacetAnnotationFactory.java       |  1 -
 ...NamedFacetForDomainServiceLayoutAnnotation.java |  1 +
 .../object/encodeable/EncoderDecoderUtil.java      |  1 -
 .../facets/object/facets/FacetsFacetAbstract.java  |  1 -
 .../hidden/method/HiddenObjectFacetViaMethod.java  |  2 +-
 .../method/HiddenObjectFacetViaMethodFactory.java  |  4 +-
 .../object/icon/method/IconFacetMethodFactory.java |  2 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |  5 +--
 .../ignore/javalang/RemoveMethodsFacetFactory.java |  6 +--
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |  5 +--
 .../method/NavigableParentFacetMethodFactory.java  |  2 +-
 ...jectSpecIdFacetDerivedFromClassNameFactory.java |  1 -
 ...erivedFromDomainServiceAnnotationElseGetId.java |  2 -
 .../ObjectValidPropertiesFacet.java                |  1 -
 .../facets/object/parseable/ParserUtil.java        |  1 +
 ...tyDerivedFromRecreatableObjectFacetFactory.java |  1 +
 .../annotation/TitleAnnotationFacetFactory.java    |  3 +-
 .../title/methods/TitleFacetViaMethodsFactory.java |  4 +-
 ...cationFromMustSatisfyAnnotationOnTypeFacet.java |  2 +-
 .../method/ValidateObjectFacetMethodFactory.java   |  2 +-
 .../facets/object/value/EqualByContentFacet.java   |  1 -
 .../value/annotcfg/ValueFacetAnnotation.java       |  1 -
 ...ValueFacetAnnotationOrConfigurationFactory.java |  1 -
 .../annotcfg/ValueFacetFromConfiguration.java      |  2 -
 .../ValueFacetUsingSemanticsProviderFactory.java   |  1 -
 .../MustSatisfySpecificationFacetAbstract.java     |  5 +--
 ...ctionParameterChoicesFacetViaMethodFactory.java |  1 -
 .../ActionParameterDefaultsFacetAbstract.java      |  1 -
 ...arameterDefaultFacetDerivedFromTypeFactory.java |  2 +-
 .../CssClassFacetForParameterLayoutAnnotation.java |  1 +
 ...scribedAsFacetForParameterLayoutAnnotation.java |  1 +
 .../NamedFacetForParameterLayoutAnnotation.java    |  1 -
 .../PropertyAutoCompleteFacetAbstract.java         |  1 -
 .../defaults/PropertyDefaultFacetAbstract.java     |  1 -
 .../hidden/HiddenFacetForPropertyAnnotation.java   |  2 -
 .../modify/PropertyDomainEventFacetAbstract.java   |  6 +--
 .../regex/RegExFacetForPropertyAnnotation.java     |  2 +
 .../CssClassFacetForPropertyLayoutAnnotation.java  |  1 +
 ...escribedAsFacetForPropertyLayoutAnnotation.java |  1 +
 .../update/PropertySetAndClearFacetFactory.java    |  1 +
 .../core/metamodel/facets/value/JodaFunctions.java |  1 -
 .../BigDecimalValueSemanticsProvider.java          |  1 -
 .../BooleanWrapperValueSemanticsProvider.java      |  1 -
 .../value/datejdk8local/Jdk8LocalDateUtil.java     |  3 +-
 .../Jdk8LocalDateValueSemanticsProvider.java       |  8 ++--
 .../JodaLocalDateValueSemanticsProvider.java       |  4 +-
 .../datesql/JavaSqlDateValueSemanticsProvider.java |  1 -
 .../Jdk8LocalDateTimeValueSemanticsProvider.java   | 13 ++++---
 .../JodaDateTimeValueSemanticsProvider.java        |  9 ++---
 .../JodaLocalDateTimeValueSemanticsProvider.java   |  4 +-
 .../JavaUtilDateValueSemanticsProvider.java        |  1 -
 ...ageValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../value/money/MoneyValueSemanticsProvider.java   |  2 +-
 .../PercentageValueSemanticsProvider.java          |  1 -
 ...imeValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../timesql/JavaSqlTimeValueSemanticsProvider.java |  1 -
 ...ampValueFacetUsingSemanticsProviderFactory.java |  1 +
 ...URLValueFacetUsingSemanticsProviderFactory.java |  1 +
 .../interactions/ActionArgValidityContext.java     |  4 +-
 .../interactions/ActionUsabilityContext.java       |  4 +-
 .../interactions/ActionValidityContext.java        |  4 +-
 .../interactions/ActionVisibilityContext.java      |  4 +-
 .../interactions/CollectionAccessContext.java      |  4 +-
 .../interactions/CollectionRemoveFromContext.java  |  4 +-
 .../interactions/CollectionVisibilityContext.java  |  4 +-
 .../metamodel/interactions/ObjectTitleContext.java |  4 +-
 .../interactions/ObjectValidityContext.java        |  4 +-
 .../interactions/ObjectVisibilityContext.java      |  4 +-
 .../metamodel/interactions/ParseValueContext.java  |  4 +-
 .../interactions/PropertyAccessContext.java        |  4 +-
 .../interactions/PropertyModifyContext.java        |  4 +-
 .../interactions/PropertyUsabilityContext.java     |  4 +-
 .../interactions/PropertyVisibilityContext.java    |  4 +-
 .../isis/core/metamodel/layout/DeweyOrderSet.java  |  5 +--
 ...onParameterDefaultsAndChoicesPostProcessor.java |  4 +-
 .../core/metamodel/progmodel/DeprecatedMarker.java |  2 -
 .../progmodel/ProgrammingModelAbstract.java        |  9 ++---
 .../ApplicationFeatureRepositoryDefault.java       |  4 +-
 .../bookmarks/BookmarkServiceInternalDefault.java  |  4 +-
 .../config/ConfigurationServiceDefault.java        |  5 ++-
 .../services/grid/GridLoaderServiceDefault.java    | 11 +++---
 .../services/grid/GridServiceDefault.java          |  3 +-
 .../services/grid/GridSystemServiceAbstract.java   | 15 ++++----
 .../services/metamodel/DomainMemberDefault.java    |  8 ++--
 .../metamodel/MetaModelServiceDefault.java         |  5 +--
 .../services/swagger/internal/Generation.java      |  3 --
 .../metamodel/services/swagger/internal/Util.java  |  6 +--
 .../swagger/internal/ValuePropertyFactory.java     |  4 --
 .../core/metamodel/spec/feature/CurrentHolder.java |  1 -
 .../core/metamodel/spec/feature/ObjectAction.java  |  6 +--
 .../spec/feature/ObjectActionParameter.java        |  6 +--
 .../core/metamodel/spec/feature/ObjectMember.java  |  7 ++--
 .../spec/feature/OneToManyAssociation.java         |  4 --
 .../specloader/InjectorMethodEvaluatorDefault.java |  3 ++
 .../metamodel/specloader/ServiceInitializer.java   |  4 ++
 .../metamodel/specloader/SpecificationLoader.java  |  4 +-
 .../classsubstitutor/ClassSubstitutor.java         |  4 +-
 .../specloader/facetprocessor/FacetProcessor.java  | 15 ++++----
 .../specloader/specimpl/ContributeeMember.java     |  1 +
 .../specloader/specimpl/FacetedMethodsBuilder.java | 13 +++----
 .../specimpl/ObjectActionContributee.java          |  9 ++---
 .../specloader/specimpl/ObjectActionDefault.java   | 10 ++---
 .../specloader/specimpl/ObjectActionMixedIn.java   |  4 +-
 .../specimpl/ObjectActionParameterAbstract.java    |  8 ++--
 .../specimpl/ObjectSpecificationAbstract.java      | 21 +++++-----
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  8 ++--
 .../validator/MetaModelValidatorComposite.java     |  5 +--
 .../MetaModelValidatorToCheckModuleExtent.java     |  9 +----
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |  4 +-
 .../validator/MetaModelValidatorVisiting.java      |  5 +--
 .../specloader/validator/ValidationFailures.java   |  1 +
 .../AuthenticationRequestAbstract.java             |  4 +-
 .../standard/AuthenticationManagerStandard.java    |  4 +-
 .../JdoDiscriminatorAnnotationFacetFactory.java    |  1 +
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |  6 +--
 .../util/JdoPrimaryKeyPropertyPredicate.java       |  3 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |  8 ++--
 .../core/commons/lang/ListUtilsTest_adjust.java    |  8 ++--
 .../core/commons/lang/ListUtilsTest_insert.java    | 10 ++---
 .../metamodel/facets/AbstractFacetFactoryTest.java |  4 +-
 .../core/metamodel/facets/CollectionUtilsTest.java |  4 +-
 ...jectAssociationPredicatesTest_visibleWhere.java | 45 ++++++++++------------
 ...rvicesInjectorDefaultTest_validateServices.java |  4 +-
 .../ApplicationFeatureRepositoryDefaultTest.java   | 14 +++----
 .../core/metamodel/services/grid/BS3GridTest.java  | 10 ++---
 .../specloader/ServiceInitializerTest.java         | 15 +++++---
 .../SpecificationLoaderTestAbstract.java           |  4 +-
 ...ionParameterAbstractTest_getId_and_getName.java |  8 ++--
 203 files changed, 407 insertions(+), 425 deletions(-)

diff --git a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
index 5b163ae..ebb5df0 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
@@ -27,6 +27,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -145,6 +146,25 @@ public final class _Lists {
                 ()->Collectors.<T, LinkedList<T>>toCollection(LinkedList::new) );
     }
 
+    // -- COPY ON WRITE LIST
+
+    public static <T> CopyOnWriteArrayList<T> newCopyOnWriteArrayList() {
+        return new CopyOnWriteArrayList<T>();
+    }
+
+    public static <T> CopyOnWriteArrayList<T> newCopyOnWriteArrayList(@Nullable Collection<T> collection) {
+        if(collection==null) {
+            return newCopyOnWriteArrayList();
+        }
+        return new CopyOnWriteArrayList<T>(collection);
+    }
+
+    public static <T> CopyOnWriteArrayList<T> newCopyOnWriteArrayList(@Nullable Iterable<T> iterable) {
+        return _Collections.collectFromIterable(iterable, _Lists::newCopyOnWriteArrayList,
+                ()->Collectors.<T, CopyOnWriteArrayList<T>>toCollection(CopyOnWriteArrayList::new) );
+    }
+
+    
     // -- TRANSFORMATION
 
     public static <T, R> List<R> transform(@Nullable List<T> input, Function<T, R> mapper) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java
index c50ab13..9073794 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/AuthenticationSessionAbstract.java
@@ -29,10 +29,10 @@ import java.util.List;
 import java.util.Map;
 
 import com.google.common.base.Objects;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.security.RoleMemento;
 import org.apache.isis.applib.security.UserMemento;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.encoding.DataInputExtended;
 import org.apache.isis.core.commons.encoding.DataOutputExtended;
 import org.apache.isis.core.commons.util.ToString;
@@ -148,7 +148,7 @@ public abstract class AuthenticationSessionAbstract implements AuthenticationSes
 
     @Override
     public UserMemento createUserMemento() {
-        final List<RoleMemento> roles = Lists.newArrayList();
+        final List<RoleMemento> roles = _Lists.newArrayList();
         for (final String roleName : getRoles()) {
             roles.add(new RoleMemento(roleName));
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
index d9c416a..67e42c0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/authentication/MessageBroker.java
@@ -24,7 +24,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 public class MessageBroker implements Serializable {
 
@@ -32,8 +32,8 @@ public class MessageBroker implements Serializable {
 
     // -- constructor, fields
 
-    private final List<String> messages = Lists.newArrayList();
-    private final List<String> warnings = Lists.newArrayList();
+    private final List<String> messages = _Lists.newArrayList();
+    private final List<String> warnings = _Lists.newArrayList();
     private String applicationError;
 
     public MessageBroker() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
index 476aa77..c69e50c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/components/InstallerAbstract.java
@@ -19,11 +19,13 @@
 
 package org.apache.isis.core.commons.components;
 
+import static org.apache.isis.commons.internal.base._NullSafe.stream;
+
 import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 
 public abstract class InstallerAbstract implements Installer {
@@ -85,15 +87,18 @@ public abstract class InstallerAbstract implements Installer {
      * Helper for subclasses implementing {@link #getTypes()}.
      */
     protected static List<Class<?>> listOf(final Class<?>... classes) {
-        return Collections.unmodifiableList(Lists.<Class<?>> newArrayList(classes));
+        return Collections.unmodifiableList(
+                stream(classes)
+                .collect(Collectors.toList())   );
     }
 
     /**
      * Helper for subclasses implementing {@link #getTypes()}.
      */
     protected static List<Class<?>> listOf(final List<Class<?>> classList, final Class<?>... classes) {
-        final List<Class<?>> arrayList = Lists.<Class<?>> newArrayList(classes);
-        arrayList.addAll(0, classList);
+        final List<Class<?>> arrayList = _Lists.<Class<?>> newArrayList(classList);
+        stream(classes)
+        .forEach(arrayList::add);
         return Collections.unmodifiableList(arrayList);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
index 2771b36..20a1e48 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
@@ -28,7 +28,6 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.slf4j.Logger;
@@ -36,6 +35,7 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.config.ConfigurationProperty;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
@@ -497,7 +497,7 @@ public class IsisConfigurationDefault implements ConfigurationServiceInternal {
     @Override
     public List<String> getPropertyNames() {
         initAppPropertiesIfRequired();
-        final List<String> list = Lists.newArrayList();
+        final List<String> list = _Lists.newArrayList();
         for (final Object key : applicationProperties.keySet()) {
             list.add((String) key);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
index a8790a0..b6b6c8a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilder.java
@@ -25,11 +25,16 @@ import java.util.List;
 import java.util.Properties;
 import java.util.Set;
 
+import com.google.common.collect.Sets;
+
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.DefaultParser;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.isis.applib.util.ToString;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -42,10 +47,6 @@ import org.apache.isis.core.commons.resource.ResourceStreamSourceChainOfResponsi
 import org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.Sets;
 
 /**
  * Holds a mutable set of properties representing the configuration.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForEnvironmentVariableISIS_OPTS.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForEnvironmentVariableISIS_OPTS.java
index c8b6a00..4d57ace 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForEnvironmentVariableISIS_OPTS.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/configbuilder/PrimerForEnvironmentVariableISIS_OPTS.java
@@ -24,9 +24,10 @@ import java.util.Map;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
+import org.apache.isis.commons.internal.collections._Lists;
+
 public class PrimerForEnvironmentVariableISIS_OPTS implements IsisConfigurationBuilder.Primer {
 
     public static final String OPT_ENV = "ISIS_OPTS";
@@ -65,7 +66,7 @@ public class PrimerForEnvironmentVariableISIS_OPTS implements IsisConfigurationB
         if (env != null) {
             final List<String> keyAndValues = Splitter.on(separator).splitToList(env);
             for (String keyAndValue : keyAndValues) {
-                final List<String> parts = Lists.newArrayList(Splitter.on("=").splitToList(keyAndValue));
+                final List<String> parts = _Lists.newArrayList(Splitter.on("=").splitToList(keyAndValue));
 
                 if (parts.size() >= 2) {
                     String key = parts.get(0);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/encoding/FieldType.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/encoding/FieldType.java
index 13c7a7b..974e95c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/encoding/FieldType.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/encoding/FieldType.java
@@ -31,10 +31,11 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.isis.commons.internal.context._Context;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.isis.commons.internal.context._Context;
+
 /**
  * Typesafe writing and reading of fields, providing some level of integrity
  * checking of encoded messages.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ArrayExtensions.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ArrayExtensions.java
index 37d50f6..f350e1d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ArrayExtensions.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ArrayExtensions.java
@@ -26,10 +26,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.exceptions.IsisException;
 
-import com.google.common.collect.Lists;
-
 public final class ArrayExtensions {
 
     private ArrayExtensions() {
@@ -73,7 +72,7 @@ public final class ArrayExtensions {
 
     @SafeVarargs
     public static <T> T[] combine(final T[]... arrays) {
-        final List<T> combinedList = Lists.newArrayList();
+        final List<T> combinedList = _Lists.newArrayList();
         for (final T[] array : arrays) {
             Collections.addAll(combinedList, array);
         }
@@ -81,13 +80,13 @@ public final class ArrayExtensions {
     }
 
     public static <T> T[] appendT(final T[] array, final T obj) {
-        final List<T> combinedList = Lists.newArrayList();
+        final List<T> combinedList = _Lists.newArrayList();
         combinedList.add(obj);
         Collections.addAll(combinedList, array);
         return combinedList.toArray(array); // using array to specify the type
     }
     public static String[] append(final String[] extendee, final String... moreArgs) {
-        final List<String> argList = Lists.newArrayList();
+        final List<String> argList = _Lists.newArrayList();
         argList.addAll(Arrays.asList(extendee));
         argList.addAll(Arrays.asList(moreArgs));
         return argList.toArray(new String[] {});
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassFunctions.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassFunctions.java
index eedf06d..be55caa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassFunctions.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassFunctions.java
@@ -18,10 +18,10 @@
  */
 package org.apache.isis.core.commons.lang;
 
-import javax.annotation.Nullable;
-
 import java.util.function.Function;
 
+import javax.annotation.Nullable;
+
 public final class ClassFunctions {
 
     private ClassFunctions(){}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassUtil.java
index da6e8c5..d979cc0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ClassUtil.java
@@ -24,10 +24,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.isis.commons.internal.context._Context;
-
 import com.google.common.collect.Maps;
 
+import org.apache.isis.commons.internal.context._Context;
+
 public final class ClassUtil {
 
     static final String JAVA_CLASS_PREFIX = "java.";
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ListExtensions.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ListExtensions.java
index 1957741..c1fa591 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ListExtensions.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/ListExtensions.java
@@ -19,13 +19,16 @@
 
 package org.apache.isis.core.commons.lang;
 
+import static org.apache.isis.commons.internal.base._NullSafe.stream;
+
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
+
+import org.apache.isis.commons.internal.collections._Lists;
 
 public final class ListExtensions {
     private static final String DEFAULT_DELIMITER = ",";
@@ -34,7 +37,7 @@ public final class ListExtensions {
     }
 
     public static <T> List<T> combineWith(final List<T> extendee, final List<T> list2) {
-        final List<T> combinedList = Lists.newArrayList();
+        final List<T> combinedList = _Lists.newArrayList();
         combinedList.addAll(extendee);
         combinedList.addAll(list2);
         return combinedList;
@@ -73,11 +76,13 @@ public final class ListExtensions {
     // //////////////////////////////////////
 
     public static <T> List<T> mutableCopy(final List<T> input) {
-        return Lists.newArrayList(input != null? input: Collections.<T>emptyList());
+        return stream(input)
+                .collect(Collectors.toList());
     }
 
     public static <T> List<T> mutableCopy(T[] arr) {
-        return mutableCopy(arr != null? Arrays.asList(arr): Collections.<T>emptyList()) ;
+        return stream(arr)
+                .collect(Collectors.toList());
     }
 
     public static <T> void insert(final List<T> list, final int insertionPoint, final T elementToInsert) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/StringExtensions.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/StringExtensions.java
index 5150c9e..a6354f2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/StringExtensions.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/lang/StringExtensions.java
@@ -24,11 +24,11 @@ import java.util.Collections;
 import java.util.List;
 import java.util.StringTokenizer;
 
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.util.Enums;
 import org.apache.isis.commons.internal.base._Strings;
 
-import com.google.common.base.Strings;
-
 public final class StringExtensions {
 
     private StringExtensions() {}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshaller.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshaller.java
index c57cf70..161a7d2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/oid/OidMarshaller.java
@@ -25,10 +25,10 @@ import java.util.regex.Pattern;
 
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.oid.Oid.State;
 import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
@@ -167,7 +167,7 @@ public final class OidMarshaller {
         final String rootIdentifier = getGroup(matcher, 5);
 
         final String aggregateOidPart = getGroup(matcher, 6);
-        final List<AggregateOidPart> aggregateOidParts = Lists.newArrayList();
+        final List<AggregateOidPart> aggregateOidParts = _Lists.newArrayList();
         final Splitter nestingSplitter = Splitter.on(SEPARATOR_NESTING);
         final Splitter partsSplitter = Splitter.on(SEPARATOR);
         if(aggregateOidPart != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
index 1e87972..a67640a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
@@ -36,14 +36,13 @@ import javax.validation.constraints.Pattern;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.ThrowableExtensions;
 import org.apache.isis.core.commons.reflection.Reflect;
 import org.apache.isis.core.metamodel.exceptions.MetaModelException;
@@ -156,7 +155,7 @@ public final class Annotations  {
             return Collections.emptyList();
         }
 
-        final List<AnnotationAndDepth<T>> annotationAndDepths = Lists.newArrayList();
+        final List<AnnotationAndDepth<T>> annotationAndDepths = _Lists.newArrayList();
         for (final Annotation annotation : cls.getAnnotations()) {
             append(annotation, annotationClass, annotationAndDepths);
         }
@@ -192,7 +191,7 @@ public final class Annotations  {
             final Annotation annotation,
             final Class<T> annotationClass,
             final List<AnnotationAndDepth<T>> annotationAndDepths) {
-        appendWithDepth(annotation, annotationClass, annotationAndDepths, 0, Lists.newArrayList());
+        appendWithDepth(annotation, annotationClass, annotationAndDepths, 0, _Lists.newArrayList());
     }
 
     private static <T extends Annotation> void appendWithDepth(
@@ -299,7 +298,7 @@ public final class Annotations  {
             return Collections.emptyList();
         }
 
-        final List<AnnotationAndDepth<T>> annotationAndDepths = Lists.newArrayList();
+        final List<AnnotationAndDepth<T>> annotationAndDepths = _Lists.newArrayList();
         for (final Annotation annotation : method.getAnnotations()) {
             append(annotation, annotationClass, annotationAndDepths);
         }
@@ -368,7 +367,7 @@ public final class Annotations  {
     public static <T extends Annotation> List<Evaluator<T>> getEvaluators(
             final Class<?> cls,
             final Class<T> annotationClass) {
-        final List<Evaluator<T>> evaluators = Lists.newArrayList();
+        final List<Evaluator<T>> evaluators = _Lists.newArrayList();
         visitEvaluators(cls, annotationClass, evaluators::add);
 
         // search implemented interfaces
@@ -399,7 +398,7 @@ public final class Annotations  {
             final Class<T> annotationClass,
             final Predicate<Evaluator<T>> filter) {
 
-        final List<Evaluator<T>> evaluators = Lists.newArrayList();
+        final List<Evaluator<T>> evaluators = _Lists.newArrayList();
         visitEvaluatorsWhile(cls, annotationClass, __->evaluators.isEmpty(), evaluator->{
             if(filter.test(evaluator)) {
                 evaluators.add(evaluator);
@@ -679,7 +678,7 @@ public final class Annotations  {
             return Collections.emptyList();
         }
 
-        final List<AnnotationAndDepth<T>> annotationAndDepths = Lists.newArrayList();
+        final List<AnnotationAndDepth<T>> annotationAndDepths = _Lists.newArrayList();
         final Annotation[] parameterAnnotations = method.getParameterAnnotations()[paramNum];
         for (Annotation annotation : parameterAnnotations) {
             append(annotation, annotationClass, annotationAndDepths);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/CollectionUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/CollectionUtils.java
index fceda63..2c71a76 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/CollectionUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/CollectionUtils.java
@@ -35,7 +35,6 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
 import java.util.function.Function;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
 import org.apache.isis.commons.internal.base._Casts;
@@ -67,7 +66,7 @@ public final class CollectionUtils {
     private final static Map<Class<?>, Function<Iterable<Object>, Object>> factoriesByType = _With.hashMap(
             map-> {
                 // specific list implementations
-                map.put(CopyOnWriteArrayList.class, Lists::newCopyOnWriteArrayList);
+                map.put(CopyOnWriteArrayList.class, _Lists::newCopyOnWriteArrayList);
                 map.put(LinkedList.class, _Lists::newLinkedList);
                 map.put(ArrayList.class, _Lists::newArrayList);
                 map.put(AbstractList.class, _Lists::newArrayList);
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 b869913..0f426ea 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,8 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets;
 
-import java.util.Properties;
-
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.metamodel.specloader.specimpl.ContributeeMember;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
index 4581989..05c5611 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
@@ -26,9 +26,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.FatalException;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
@@ -128,9 +125,9 @@ public class DomainEventHelper {
         }
     }
 
-    private static <T> List<T> immutableList(final Iterable<T> iterable) {
-        return Collections.unmodifiableList(Lists.newArrayList(iterable));
-    }
+//    private static <T> List<T> immutableList(final Iterable<T> iterable) {
+//        return Collections.unmodifiableList(_Lists.newArrayList(iterable));
+//    }
 
     @SuppressWarnings("unchecked")
     static <S> ActionDomainEvent<S> newActionDomainEvent(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetedMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetedMethod.java
index 3545be7..512218f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetedMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetedMethod.java
@@ -26,6 +26,7 @@ import java.util.List;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.commons.internal.collections._Arrays;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -35,8 +36,6 @@ import org.apache.isis.core.metamodel.facets.collparam.semantics.CollectionSeman
 import org.apache.isis.core.metamodel.facets.collparam.semantics.CollectionSemanticsFacetDefault;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
-import com.google.common.collect.Lists;
-
 /**
  * non-final only so it can be mocked if need be.
  */
@@ -110,7 +109,7 @@ public class FacetedMethod extends TypedHolderDefault implements IdentifiedHolde
 
         final Class<?>[] parameterTypes = actionMethod.getParameterTypes();
         final Type[] genericParameterTypes = actionMethod.getGenericParameterTypes();
-        final List<FacetedMethodParameter> actionParams = Lists.newArrayList();
+        final List<FacetedMethodParameter> actionParams = _Lists.newArrayList();
 
         for (int paramNum = 0; paramNum < parameterTypes.length; paramNum++) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionChoicesForCollectionParameterFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionChoicesForCollectionParameterFacetFactory.java
index 9ac782e..886e3a0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionChoicesForCollectionParameterFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionChoicesForCollectionParameterFacetFactory.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.actions.action;
 
-import java.util.List;
-
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
index 14a4941..69b65a4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethod.java
@@ -22,13 +22,14 @@ package org.apache.isis.core.metamodel.facets.actions.defaults.method;
 import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
+
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
-import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
+import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract;
+import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
 
 public class ActionDefaultsFacetViaMethod extends ActionDefaultsFacetAbstract implements ImperativeFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethodFactory.java
index e536dcc..556f8e5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/method/ActionDefaultsFacetViaMethodFactory.java
@@ -28,10 +28,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 /**
  * Sets up all the {@link Facet}s for an action in a single shot.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
index 63c5abd..d35fdfd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/homepage/annotation/HomePageFacetAnnotationFactory.java
@@ -23,9 +23,9 @@ import java.util.List;
 import java.util.stream.Stream;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.HomePage;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -69,7 +69,7 @@ public class HomePageFacetAnnotationFactory extends FacetFactoryAbstract impleme
     private Visitor newValidatorVisitor() {
         return new MetaModelValidatorVisiting.SummarizingVisitor() {
 
-            private final List<String> annotated = Lists.newArrayList();
+            private final List<String> annotated = _Lists.newArrayList();
 
             @Override
             public boolean visit(ObjectSpecification objectSpec, ValidationFailures validationFailures) {
@@ -94,7 +94,7 @@ public class HomePageFacetAnnotationFactory extends FacetFactoryAbstract impleme
             public void summarize(ValidationFailures validationFailures) {
                 if(annotated.size()>1) {
                     for (String actionId : annotated) {
-                        final List<String> others = Lists.newArrayList(annotated);
+                        final List<String> others = _Lists.newArrayList(annotated);
                         others.remove(actionId);
                         final String nonServiceNamesStr = Joiner.on(", ").join(others);
                         validationFailures.add(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutAnnotation.java
index dbaf691..becba24 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 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.cssclass.CssClassFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutAnnotation.java
index 2146920..d45f371 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 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.all.describedas.DescribedAsFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
index 7f74cab..4394a9d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 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.all.named.NamedFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactory.java
index bbdfd1a..37f4f69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.actions.notcontributed.derived;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory.java
index 2f0c484..23bf4de 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory.java
@@ -20,13 +20,13 @@
 package org.apache.isis.core.metamodel.facets.actions.notinservicemenu.derived;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory extends FacetFactoryAbstract {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
index d1e863f..9d08187 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionParameterValidationFacetViaMethod.java
@@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.actions.validate.method;
 import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
+
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
index 4bd931c..aa06398 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.actions.validate.method;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.lang.StringExtensions;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacetAbstract.java
index ca41931..06cb9ce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/CollectionFacetAbstract.java
@@ -25,8 +25,8 @@ import java.util.Iterator;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 
 public abstract class CollectionFacetAbstract extends FacetAbstract implements CollectionFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
index ac9ddc5..28a7ca3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
@@ -19,13 +19,13 @@
 
 package org.apache.isis.core.metamodel.facets.collections.collection.modify;
 
-import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
-import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
-import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
 import org.apache.isis.applib.events.domain.CollectionDomainEvent;
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
+import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
+import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.facets.DomainEventHelper;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/disabled/fromimmutable/DisabledFacetOnCollectionDerivedFromImmutable.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/disabled/fromimmutable/DisabledFacetOnCollectionDerivedFromImmutable.java
index db0a7b2..d94e5f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/disabled/fromimmutable/DisabledFacetOnCollectionDerivedFromImmutable.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/disabled/fromimmutable/DisabledFacetOnCollectionDerivedFromImmutable.java
@@ -22,8 +22,8 @@ package org.apache.isis.core.metamodel.facets.collections.disabled.fromimmutable
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstract;
+import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
 
 public class DisabledFacetOnCollectionDerivedFromImmutable extends DisabledFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutAnnotation.java
index 3aeac3d..f6a4079 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetForCollectionLayoutAnnotation.java
index f492803..73e0359 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetForCollectionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetForCollectionLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
index 1ca57e4..a393e4d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
@@ -22,6 +22,7 @@ package org.apache.isis.core.metamodel.facets.collections.layout;
 import java.util.List;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacetUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacetUtils.java
index fed2206..fca5be2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacetUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/modify/CollectionFacetUtils.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.collections.modify;
 
 import java.util.List;
+
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 
 @Deprecated
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/parented/ParentedFacetSinceCollectionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/parented/ParentedFacetSinceCollectionFactory.java
index 0e96d96..ba1d283 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/parented/ParentedFacetSinceCollectionFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/parented/ParentedFacetSinceCollectionFactory.java
@@ -22,11 +22,11 @@ package org.apache.isis.core.metamodel.facets.collections.parented;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.collections.javautilcollection.CollectionFacetFactory;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.object.parented.ParentedCollectionFacet;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.specloader.CollectionUtils;
-import org.apache.isis.core.metamodel.facets.collections.javautilcollection.CollectionFacetFactory;
 
 /**
  * All {@link CollectionUtils collection types} are intrinsically
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
index 5132a0a..cf54ba0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/sortedby/annotation/SortedByFacetAnnotationFactory.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.collections.sortedby.annotation;
 
 import java.util.Comparator;
-import java.util.List;
 import java.util.stream.Stream;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
index f48d9616..5e2ea10 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -23,9 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.annotation.LabelPosition;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -90,7 +89,7 @@ public class FallbackFacetFactory extends FacetFactoryAbstract {
 
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
-        final List<Facet> facets = Lists.newArrayList();
+        final List<Facet> facets = _Lists.newArrayList();
 
         final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
index 74a3387..ee35a32 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
@@ -19,9 +19,9 @@
 
 package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetOnMemberFromConfiguredRegex extends CssClassFaFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
index d11d07f..570153f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
@@ -19,9 +19,9 @@ package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
 import java.util.Properties;
 
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetOnMemberFromProperties extends CssClassFaFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/forsession/DisableForSessionFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/forsession/DisableForSessionFacetViaMethodFactory.java
index bad66b4..bbc57ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/forsession/DisableForSessionFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/forsession/DisableForSessionFacetViaMethodFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.members.disabled.forsession;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.security.UserMemento;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.lang.StringExtensions;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
index 2971217..24db424 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethod.java
@@ -23,10 +23,10 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
-import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
+import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenFacetFromLayoutPropertiesAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenFacetFromLayoutPropertiesAbstract.java
index 5611dd2..da84e83 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenFacetFromLayoutPropertiesAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenFacetFromLayoutPropertiesAbstract.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.members.hidden;
 
 import java.util.Properties;
+
 import com.google.common.base.Strings;
 
 import org.apache.isis.applib.annotation.Where;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/forsession/HideForSessionFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/forsession/HideForSessionFacetViaMethodFactory.java
index fad2395..877c1e3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/forsession/HideForSessionFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/forsession/HideForSessionFacetViaMethodFactory.java
@@ -28,10 +28,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class HideForSessionFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethodFactory.java
index 2780eab..b220c2c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/method/HideForContextFacetViaMethodFactory.java
@@ -26,10 +26,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class HideForContextFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/MemberOrderFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/MemberOrderFacetAbstract.java
index b06bc6c..01cebfc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/MemberOrderFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/MemberOrderFacetAbstract.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.members.order;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
index 3c4ed37..46d2c33 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class CreatedCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
index 44696e6..1057353 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class LoadCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
index 9389015..9f5f1c2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class LoadedCallbackFacetAbstract extends CallbackFacetAbstract implements LoadedCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadingCallbackFacetAbstract.java
index 08a5d49..091e3d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadingCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 /**
  * @deprecated - THIS CAN NEVER BE CALLED (BY JDO OBJECTSTORE AT LEAST)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
index a6b641a..5ee3d2a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
index e1c6c19..be140ad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class PersistCallbackViaSaveMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
index 6a8f651..9407641 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class PersistedCallbackFacetAbstract extends CallbackFacetAbstract implements PersistedCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
index b9f0323..f0ad113 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class PersistingCallbackFacetAbstract extends CallbackFacetAbstract implements PersistingCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
index 3b5d72e..4e8e912 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
index 4056797..76ea149 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class RemoveCallbackViaDeleteMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
index 390c771..03ac2b0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class RemovingCallbackFacetAbstract extends CallbackFacetAbstract implements RemovingCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
index fc1d149..b5e4f83 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
@@ -27,10 +27,10 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class UpdateCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
index edbf7f4..9b07809 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class UpdatedCallbackFacetAbstract extends CallbackFacetAbstract implements UpdatedCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
index a12ea17..b79943a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
 
 public abstract class UpdatingCallbackFacetAbstract extends CallbackFacetAbstract implements UpdatingCallbackFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
index 5f92826..b96e63c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.choices.enums;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.services.i18n.TranslatableString;
@@ -31,7 +32,6 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java
index 2f0cd35..7c916e5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.cssclass.method;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
index b34bd30..1ce92a4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.cssclass.method;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultsProviderUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultsProviderUtil.java
index 1623996..f08871f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultsProviderUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultsProviderUtil.java
@@ -24,7 +24,6 @@ import com.google.common.base.Strings;
 import org.apache.isis.applib.adapters.DefaultsProvider;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 
 public final class DefaultsProviderUtil {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotation.java
index 8f44598..2ec46b0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotation.java
@@ -24,9 +24,9 @@ import com.google.common.base.Strings;
 import org.apache.isis.applib.annotation.Defaulted;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultsProviderUtil;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 
 public class DefaultedFacetAnnotation extends DefaultedFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetFromConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetFromConfiguration.java
index 0c8a0c9..6bd4dc8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetFromConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetFromConfiguration.java
@@ -20,8 +20,8 @@
 package org.apache.isis.core.metamodel.facets.object.defaults.annotcfg;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetAbstract;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 
 public class DefaultedFacetFromConfiguration extends DefaultedFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
index fc9371d..0b70098 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/autocomplete/AutoCompleteFacetForAutoCompleteAnnotation.java
@@ -24,7 +24,6 @@ import java.lang.reflect.Method;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacetAbstract;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
 /**
  * @deprecated
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForDomainObjectAnnotation.java
index c58a309..203b6335 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForDomainObjectAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForDomainObjectAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForJdoPersistenceCapableAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForJdoPersistenceCapableAnnotation.java
index ad3cd7f..fd3cfc5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForJdoPersistenceCapableAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/objectspecid/ObjectSpecIdFacetForJdoPersistenceCapableAnnotation.java
@@ -20,7 +20,9 @@
 package org.apache.isis.core.metamodel.facets.object.domainobject.objectspecid;
 
 import java.util.Locale;
+
 import com.google.common.base.Strings;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacetAbstract;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
index 4e526e3..3e0858a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
index 00b0693..be81edb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
index 04e2b9a..346ccae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
@@ -23,12 +23,10 @@ import java.util.Objects;
 
 import com.google.common.base.Strings;
 
-import org.apache.isis.applib.annotation.DomainServiceLayout;
 import org.apache.isis.applib.annotation.ViewModelLayout;
 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;
-import org.apache.isis.core.metamodel.facets.object.domainservicelayout.NamedFacetForDomainServiceLayoutAnnotation;
 
 public class NamedFacetForViewModelLayoutAnnotation extends NamedFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
index 15d3623..bd1b0f0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
index 857a06b..09e8d22 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
@@ -24,7 +24,6 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.core.commons.config.IsisConfiguration;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
index 7a82d5c..81f9c50 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainServiceLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/EncoderDecoderUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
index 1421653..c622e5f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
@@ -24,7 +24,6 @@ import com.google.common.base.Strings;
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 
 public final class EncoderDecoderUtil {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/FacetsFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/FacetsFacetAbstract.java
index edfa79d..5e6758b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/FacetsFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/FacetsFacetAbstract.java
@@ -28,7 +28,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.facets.object.facets.FacetsFacet;
 
 public abstract class FacetsFacetAbstract extends FacetAbstract implements FacetsFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethod.java
index da646b6..ec0a008 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethod.java
@@ -25,8 +25,8 @@ import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.interactions.VisibilityContext;
 import org.apache.isis.core.metamodel.facets.object.hidden.HiddenObjectFacetAbstract;
+import org.apache.isis.core.metamodel.interactions.VisibilityContext;
 
 public class HiddenObjectFacetViaMethod extends HiddenObjectFacetAbstract {
     private final Method method;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethodFactory.java
index 154b166..bfe4251 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/method/HiddenObjectFacetViaMethodFactory.java
@@ -25,12 +25,12 @@ 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.FacetedMethod;
+import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
+import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.hidden.HiddenObjectFacet;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 
 /**
  * Installs the {@link HiddenObjectFacetViaMethod} on the
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
index 04dcf1a..ae4bed3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
@@ -24,9 +24,9 @@ import java.lang.reflect.Method;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class IconFacetMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/datanucleus/RemoveDatanucleusPersistableTypesFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/datanucleus/RemoveDatanucleusPersistableTypesFacetFactory.java
index 8fd2365..aff14be 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/datanucleus/RemoveDatanucleusPersistableTypesFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/datanucleus/RemoveDatanucleusPersistableTypesFacetFactory.java
@@ -19,8 +19,7 @@ package org.apache.isis.core.metamodel.facets.object.ignore.datanucleus;
 import java.lang.reflect.Method;
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
@@ -32,7 +31,7 @@ import org.apache.isis.core.metamodel.methodutils.MethodScope;
  */
 public class RemoveDatanucleusPersistableTypesFacetFactory extends FacetFactoryAbstract {
 
-    private final List<RemoveMethodsFacetFactory.MethodAndParameterTypes> datanucleusPersistableMethodsToIgnore = Lists.newArrayList();
+    private final List<RemoveMethodsFacetFactory.MethodAndParameterTypes> datanucleusPersistableMethodsToIgnore = _Lists.newArrayList();
 
     public RemoveDatanucleusPersistableTypesFacetFactory() {
         super(FeatureType.OBJECTS_ONLY);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/javalang/RemoveMethodsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/javalang/RemoveMethodsFacetFactory.java
index eb9287a..37ef52c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/javalang/RemoveMethodsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/javalang/RemoveMethodsFacetFactory.java
@@ -22,11 +22,9 @@ package org.apache.isis.core.metamodel.facets.object.ignore.javalang;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.List;
-import java.util.stream.Stream;
-
-import com.google.common.collect.Lists;
 
 import org.apache.isis.commons.internal._Constants;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -59,7 +57,7 @@ public class RemoveMethodsFacetFactory extends FacetFactoryAbstract {
 
     private final InjectorMethodEvaluator injectorMethodEvaluator = new InjectorMethodEvaluatorDefault();
 
-    private final List<MethodAndParameterTypes> javaLangObjectMethodsToIgnore = Lists.newArrayList();
+    private final List<MethodAndParameterTypes> javaLangObjectMethodsToIgnore = _Lists.newArrayList();
 
 
     public RemoveMethodsFacetFactory() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/jdo/RemoveJdoEnhancementTypesFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/jdo/RemoveJdoEnhancementTypesFacetFactory.java
index a23eaef..49520c6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/jdo/RemoveJdoEnhancementTypesFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/jdo/RemoveJdoEnhancementTypesFacetFactory.java
@@ -22,8 +22,7 @@ package org.apache.isis.core.metamodel.facets.object.ignore.jdo;
 import java.lang.reflect.Method;
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
@@ -35,7 +34,7 @@ import org.apache.isis.core.metamodel.methodutils.MethodScope;
  */
 public class RemoveJdoEnhancementTypesFacetFactory extends FacetFactoryAbstract {
 
-    private final List<RemoveMethodsFacetFactory.MethodAndParameterTypes> jdoEnhancementmethodsToIgnore = Lists.newArrayList();
+    private final List<RemoveMethodsFacetFactory.MethodAndParameterTypes> jdoEnhancementmethodsToIgnore = _Lists.newArrayList();
 
     public RemoveJdoEnhancementTypesFacetFactory() {
         super(FeatureType.OBJECTS_ONLY);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/navparent/method/NavigableParentFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/navparent/method/NavigableParentFacetMethodFactory.java
index a67af1f..b01e829 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/navparent/method/NavigableParentFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/navparent/method/NavigableParentFacetMethodFactory.java
@@ -24,9 +24,9 @@ import java.lang.reflect.Method;
 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.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 /**
  *
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
index 1d24f98..e02db27 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.object.objectspecid.classname;
 
-import java.util.List;
 import java.util.stream.Stream;
 
 import javax.xml.bind.annotation.XmlType;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
index bd5ddde..ed8abca 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
@@ -20,9 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.objectspecid.classname;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacetAbstract;
-import org.apache.isis.core.metamodel.services.ServiceUtil;
 
 public class ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId extends ObjectSpecIdFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectvalidprops/ObjectValidPropertiesFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectvalidprops/ObjectValidPropertiesFacet.java
index 75fbf1a..f6dc13c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectvalidprops/ObjectValidPropertiesFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectvalidprops/ObjectValidPropertiesFacet.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.object.objectvalidprops;
 
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacet;
 import org.apache.isis.core.metamodel.interactions.ObjectValidityContext;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParserUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParserUtil.java
index acc1105..35e2937 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParserUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParserUtil.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.parseable;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.ClassUtil;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyDerivedFromRecreatableObjectFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyDerivedFromRecreatableObjectFacetFactory.java
index ba91515..66a50fc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyDerivedFromRecreatableObjectFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyDerivedFromRecreatableObjectFacetFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.object.recreatable;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/annotation/TitleAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/annotation/TitleAnnotationFacetFactory.java
index 21c0259..7e3e4e0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/annotation/TitleAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/annotation/TitleAnnotationFacetFactory.java
@@ -25,7 +25,6 @@ import java.util.Comparator;
 import java.util.List;
 
 import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.commons.internal.collections._Lists;
@@ -138,7 +137,7 @@ public class TitleAnnotationFacetFactory extends FacetFactoryAbstract implements
         }
 
         private static List<String> componentsFor(final String sequence) {
-            return Lists.newArrayList(Splitter.on('.').split(sequence));
+            return _Lists.newArrayList(Splitter.on('.').split(sequence));
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
index 090463d..2d98785 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
@@ -27,11 +27,11 @@ import org.apache.isis.core.commons.lang.ClassExtensions;
 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.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.fallback.FallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacet.java
index c3de14a..aef0251 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/mustsatisfyspec/MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacet.java
@@ -21,8 +21,8 @@ package org.apache.isis.core.metamodel.facets.object.validating.mustsatisfyspec;
 
 import java.util.List;
 
-import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 import org.apache.isis.applib.spec.Specification;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
index 97c13e4..738ec47 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
@@ -27,9 +27,9 @@ 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.IdentifiedHolder;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
 
 public class ValidateObjectFacetMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/EqualByContentFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/EqualByContentFacet.java
index 2e1c9ea..4f73ebb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/EqualByContentFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/EqualByContentFacet.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.object.value;
 
 import org.apache.isis.core.metamodel.facets.MarkerFacet;
 import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
 
 /**
  * Indicates that the instances of this class are equal-by-content.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
index 38dd0c9..ca7f7bb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotation.java
@@ -25,7 +25,6 @@ import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacetAbstract;
-
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
index 49846e8..84b109b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
@@ -37,7 +37,6 @@ import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
 import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
 import org.apache.isis.core.metamodel.facets.object.value.EqualByContentFacet;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
-
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
 
 /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetFromConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetFromConfiguration.java
index 6f36fa0..e8c6783 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetFromConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetFromConfiguration.java
@@ -19,10 +19,8 @@
 
 package org.apache.isis.core.metamodel.facets.object.value.annotcfg;
 
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacetAbstract;
-
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
index 7f0bf22..c1d57a0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
@@ -23,7 +23,6 @@ import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 
 public abstract class ValueFacetUsingSemanticsProviderFactory<T> extends FacetFactoryAbstract  {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
index 4dd9533..3d62f79 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
@@ -21,11 +21,10 @@ package org.apache.isis.core.metamodel.facets.objectvalue.mustsatisfyspec;
 
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 import org.apache.isis.applib.spec.Specification;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
@@ -93,7 +92,7 @@ public abstract class MustSatisfySpecificationFacetAbstract extends FacetAbstrac
      * For benefit of subclasses.
      */
     protected static List<Specification> specificationsFor(final Class<?>[] values) {
-        final List<Specification> specifications = Lists.newArrayList();
+        final List<Specification> specifications = _Lists.newArrayList();
         for (final Class<?> value : values) {
             final Specification specification = newSpecificationElseNull(value);
             if (specification != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
index 37f6623..06d067b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
@@ -39,7 +39,6 @@ import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
 import org.apache.isis.core.metamodel.facets.param.choices.ActionChoicesFacet;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 
 public class ActionParameterChoicesFacetViaMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java
index be7223f..8d8ccdf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/ActionParameterDefaultsFacetAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.param.defaults;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacet;
 
 public abstract class ActionParameterDefaultsFacetAbstract extends FacetAbstract implements ActionParameterDefaultsFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java
index 2144b91..027d89f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java
@@ -23,8 +23,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class ActionParameterDefaultFacetDerivedFromTypeFactory extends FacetFactoryAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/CssClassFacetForParameterLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/CssClassFacetForParameterLayoutAnnotation.java
index 8969db8..095d240 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/CssClassFacetForParameterLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/CssClassFacetForParameterLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/DescribedAsFacetForParameterLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/DescribedAsFacetForParameterLayoutAnnotation.java
index 29f83c5..081dd27 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/DescribedAsFacetForParameterLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/DescribedAsFacetForParameterLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
index e1aab75..3567b09 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.ParameterLayout;
 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;
-import org.apache.isis.core.metamodel.facets.properties.propertylayout.NamedFacetForPropertyLayoutAnnotation;
 
 public class NamedFacetForParameterLayoutAnnotation extends NamedFacetAbstract {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacetAbstract.java
index 0c94ead..262887c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/autocomplete/PropertyAutoCompleteFacetAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.properties.autocomplete;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.autocomplete.PropertyAutoCompleteFacet;
 
 public abstract class PropertyAutoCompleteFacetAbstract extends FacetAbstract implements PropertyAutoCompleteFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java
index dc3d0e5..92be45e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.properties.defaults;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 
 public abstract class PropertyDefaultFacetAbstract extends FacetAbstract implements PropertyDefaultFacet {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/hidden/HiddenFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/hidden/HiddenFacetForPropertyAnnotation.java
index 502dff3..46169f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/hidden/HiddenFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/hidden/HiddenFacetForPropertyAnnotation.java
@@ -21,12 +21,10 @@ package org.apache.isis.core.metamodel.facets.properties.property.hidden;
 
 import java.util.List;
 
-import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.action.hidden.HiddenFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
index 8c4be3c..2a49f6d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
@@ -19,13 +19,13 @@
 
 package org.apache.isis.core.metamodel.facets.properties.property.modify;
 
-import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
-import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
-import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
 import org.apache.isis.applib.events.domain.PropertyDomainEvent;
 import org.apache.isis.applib.services.i18n.TranslatableString;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
+import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
+import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
index 297e72f..d8d160f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
@@ -21,7 +21,9 @@ package org.apache.isis.core.metamodel.facets.properties.property.regex;
 
 import java.util.List;
 import java.util.regex.Pattern;
+
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.Annotations;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetForPropertyLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetForPropertyLayoutAnnotation.java
index 6c4c5f5..17818e6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetForPropertyLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetForPropertyLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetForPropertyLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetForPropertyLayoutAnnotation.java
index 24e3742..e1b3f58 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetForPropertyLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetForPropertyLayoutAnnotation.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Objects;
 
 import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetAndClearFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetAndClearFacetFactory.java
index 559004d..4cb68c3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetAndClearFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetAndClearFacetFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.properties.update;
 
 import java.lang.reflect.Method;
+
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/JodaFunctions.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/JodaFunctions.java
index 62b5002..0935f6d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/JodaFunctions.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/JodaFunctions.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.value;
 
 import java.util.Locale;
-
 import java.util.function.Function;
 
 import org.joda.time.format.DateTimeFormatter;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
index c61b3df..75f7ca3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
@@ -31,7 +31,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
 public class BigDecimalValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<BigDecimal> implements BigDecimalValueFacet {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java
index 69431bd..65e0434 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.value.booleans;
 
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateUtil.java
index 8570662..da56196 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateUtil.java
@@ -25,9 +25,10 @@ import java.util.List;
 import java.util.Locale;
 import java.util.StringTokenizer;
 
-import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
 import org.joda.time.format.DateTimeFormat;
 
+import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
+
 final class Jdk8LocalDateUtil  {
 
     private Jdk8LocalDateUtil(){}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateValueSemanticsProvider.java
index 5f38ef3..0ce31eb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejdk8local/Jdk8LocalDateValueSemanticsProvider.java
@@ -29,8 +29,11 @@ import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.collect.Maps;
+
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.EncodingException;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -39,9 +42,6 @@ import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProv
 import org.apache.isis.core.metamodel.facets.value.datejodalocal.JodaLocalDateValueFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
 public class Jdk8LocalDateValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<LocalDate> implements Jdk8LocalDateValueFacet {
 
     public static final int MAX_LENGTH = 12;
@@ -106,7 +106,7 @@ public class Jdk8LocalDateValueSemanticsProvider extends ValueSemanticsProviderA
     };
 
 
-    private final static List<TimeParser> PARSE_FORMATTERS = Lists.newArrayList();
+    private final static List<TimeParser> PARSE_FORMATTERS = _Lists.newArrayList();
     static {
         PARSE_FORMATTERS.add(parserOfStyle("L-"));
         PARSE_FORMATTERS.add(parserOfStyle("M-"));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
index b72c63a..c8fd664 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.joda.time.LocalDate;
@@ -33,6 +32,7 @@ import org.joda.time.format.DateTimeFormatter;
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.EncodingException;
 import org.apache.isis.applib.adapters.Parser;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -105,7 +105,7 @@ public class JodaLocalDateValueSemanticsProvider extends ValueSemanticsProviderA
     };
 
 
-    private final static List<DateTimeFormatter> PARSE_FORMATTERS = Lists.newArrayList();
+    private final static List<DateTimeFormatter> PARSE_FORMATTERS = _Lists.newArrayList();
     static {
         PARSE_FORMATTERS.add(DateTimeFormat.forStyle("L-"));
         PARSE_FORMATTERS.add(DateTimeFormat.forStyle("M-"));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datesql/JavaSqlDateValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datesql/JavaSqlDateValueSemanticsProvider.java
index 2a19c18..a240e27 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datesql/JavaSqlDateValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datesql/JavaSqlDateValueSemanticsProvider.java
@@ -26,7 +26,6 @@ import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.clock.Clock;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
 import org.apache.isis.core.metamodel.facets.value.date.DateValueSemanticsProviderAbstract;
 import org.apache.isis.core.metamodel.facets.value.dateutil.JavaUtilDateValueSemanticsProvider;
 import org.apache.isis.core.metamodel.facets.value.timesql.JavaSqlTimeValueSemanticsProvider;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejdk8local/Jdk8LocalDateTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejdk8local/Jdk8LocalDateTimeValueSemanticsProvider.java
index 1a8fc90..b67d591 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejdk8local/Jdk8LocalDateTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejdk8local/Jdk8LocalDateTimeValueSemanticsProvider.java
@@ -27,19 +27,20 @@ import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.collect.Maps;
+
+import org.joda.time.format.DateTimeFormat;
+import org.joda.time.format.ISODateTimeFormat;
+
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.EncodingException;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.ISODateTimeFormat;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 
 
 public class Jdk8LocalDateTimeValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<LocalDateTime> implements Jdk8LocalDateTimeValueFacet {
@@ -106,7 +107,7 @@ public class Jdk8LocalDateTimeValueSemanticsProvider extends ValueSemanticsProvi
     };
 
 
-    private final static List<TimeParser> PARSE_FORMATTERS = Lists.newArrayList();
+    private final static List<TimeParser> PARSE_FORMATTERS = _Lists.newArrayList();
     static {
         PARSE_FORMATTERS.add(parserOf(DateTimeFormat.forStyle("LL")));
         PARSE_FORMATTERS.add(parserOf(DateTimeFormat.forStyle("MM")));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejoda/JodaDateTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejoda/JodaDateTimeValueSemanticsProvider.java
index 79796f5..6c75a21 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejoda/JodaDateTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejoda/JodaDateTimeValueSemanticsProvider.java
@@ -21,16 +21,15 @@ package org.apache.isis.core.metamodel.facets.value.datetimejoda;
 
 import java.util.Date;
 
-import org.apache.isis.applib.adapters.EncodingException;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.joda.time.DateTime;
+import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
 
 import org.apache.isis.applib.adapters.EncoderDecoder;
+import org.apache.isis.applib.adapters.EncodingException;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
 
 public class JodaDateTimeValueSemanticsProvider extends JodaDateTimeValueSemanticsProviderAbstract<DateTime> {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
index bc0db1c..45ac1d3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.joda.time.LocalDateTime;
@@ -34,6 +33,7 @@ import org.joda.time.format.ISODateTimeFormat;
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.EncodingException;
 import org.apache.isis.applib.adapters.Parser;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -106,7 +106,7 @@ public class JodaLocalDateTimeValueSemanticsProvider extends ValueSemanticsProvi
     };
 
 
-    private final static List<DateTimeFormatter> PARSE_FORMATTERS = Lists.newArrayList();
+    private final static List<DateTimeFormatter> PARSE_FORMATTERS = _Lists.newArrayList();
     static {
         PARSE_FORMATTERS.add(DateTimeFormat.forStyle("LL"));
         PARSE_FORMATTERS.add(DateTimeFormat.forStyle("MM"));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/dateutil/JavaUtilDateValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/dateutil/JavaUtilDateValueSemanticsProvider.java
index f486237..50a8c69 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/dateutil/JavaUtilDateValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/dateutil/JavaUtilDateValueSemanticsProvider.java
@@ -26,7 +26,6 @@ import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.clock.Clock;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
 import org.apache.isis.core.metamodel.facets.value.DateAndTimeValueSemanticsProviderAbstract;
 import org.apache.isis.core.metamodel.facets.value.datesql.JavaSqlDateValueSemanticsProvider;
 import org.apache.isis.core.metamodel.facets.value.timesql.JavaSqlTimeValueSemanticsProvider;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueFacetUsingSemanticsProviderFactory.java
index 03108fd..012cd77 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueFacetUsingSemanticsProviderFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.value.imageawt;
 
 import java.awt.Image;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
index b48ccdb..7ad7a2f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
@@ -32,8 +32,8 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
-import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
+import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
 public class MoneyValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<Money> implements MoneyValueFacet {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
index e8b1a32..a057a50 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
@@ -32,7 +32,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-
 import org.apache.isis.core.metamodel.facets.value.floats.FloatingPointValueFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueFacetUsingSemanticsProviderFactory.java
index d5ae4a7..90c3db5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueFacetUsingSemanticsProviderFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.value.timesql;
 
 import java.sql.Time;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueSemanticsProvider.java
index a1f53cf..6466495 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timesql/JavaSqlTimeValueSemanticsProvider.java
@@ -31,7 +31,6 @@ import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.clock.Clock;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
 import org.apache.isis.core.metamodel.facets.value.time.TimeValueSemanticsProviderAbstract;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java
index f715008..cc7a358 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.value.timestampsql;
 
 import java.sql.Timestamp;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueFacetUsingSemanticsProviderFactory.java
index 7ccfdf6..42a803f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueFacetUsingSemanticsProviderFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.core.metamodel.facets.value.url;
 
 import java.net.URL;
+
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
index 0d9a458..dff5dd7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgValidityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.ActionArgumentEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ActionArgumentEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
index b0f17ce..8646637 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.ActionUsabilityEvent;
@@ -27,8 +29,6 @@ import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ActionUsabilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
index 3fab1bf..217ed73 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionValidityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.ActionInvocationEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ActionInvocationEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
index e448710..cfe6e43 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.ActionVisibilityEvent;
@@ -27,8 +29,6 @@ import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ActionVisibilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
index b0b0cf0..1d64405 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.CollectionAccessEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link CollectionAccessEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
index d332434..4c84979 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.CollectionRemoveFromEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link CollectionRemoveFromEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
index f2d1107..dd27385 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.CollectionVisibilityEvent;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link CollectionVisibilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
index dc38c3c..128cbbf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.ObjectTitleEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ObjectTitleEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
index 87b6046..d9361a8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.ObjectValidityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ObjectValidityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
index bf4cc30..95188d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectVisibilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.ObjectVisibilityEvent;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link org.apache.isis.core.metamodel.interactions.InteractionContext} for overview; analogous to
  * {@link ObjectVisibilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
index 88454b7..92ab38b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.ParseValueEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link ParseValueEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
index 6d514e1..a07e78f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.PropertyAccessEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link PropertyAccessEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
index acf7f60..bf15663 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
@@ -19,14 +19,14 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.wrapper.events.PropertyModifyEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link PropertyModifyEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
index d7d2fe5..045c075 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.PropertyUsabilityEvent;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link PropertyUsabilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
index 7fe71f6..dc797e8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.metamodel.interactions;
 
+import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.wrapper.events.PropertyVisibilityEvent;
@@ -26,8 +28,6 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
-import static org.apache.isis.core.metamodel.adapter.ObjectAdapter.Util.unwrap;
-
 /**
  * See {@link InteractionContext} for overview; analogous to
  * {@link PropertyVisibilityEvent}.
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/DeweyOrderSet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/DeweyOrderSet.java
index 0fc1b99..06478bf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/DeweyOrderSet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/DeweyOrderSet.java
@@ -29,11 +29,10 @@ import java.util.SortedSet;
 import java.util.StringTokenizer;
 import java.util.TreeSet;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
@@ -171,7 +170,7 @@ public class DeweyOrderSet implements Comparable<DeweyOrderSet>, Iterable<Object
 
     // /////////////////////////////////////////////////////////////////////////
 
-    private final List<Object> elements = Lists.newArrayList();
+    private final List<Object> elements = _Lists.newArrayList();
     private final String groupFullName;
     private final String groupName;
     private final String groupPath;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ActionCollectionParameterDefaultsAndChoicesPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ActionCollectionParameterDefaultsAndChoicesPostProcessor.java
index b04fda2..3250e7e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ActionCollectionParameterDefaultsAndChoicesPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ActionCollectionParameterDefaultsAndChoicesPostProcessor.java
@@ -24,8 +24,8 @@ import java.util.stream.Stream;
 
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
 
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
@@ -150,7 +150,7 @@ ServicesInjectorAware {
     }
 
     private List<ActionType> inferActionTypes() {
-        final List<ActionType> actionTypes = Lists.newArrayList();
+        final List<ActionType> actionTypes = _Lists.newArrayList();
         actionTypes.add(ActionType.USER);
         final DeploymentCategory deploymentCategory = getDeploymentCategory();
         if ( !deploymentCategory.isProduction()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/DeprecatedMarker.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/DeprecatedMarker.java
index 182b73d..5e0321b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/DeprecatedMarker.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/DeprecatedMarker.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.core.metamodel.progmodel;
 
-import org.apache.isis.core.metamodel.facetapi.Facet;
-
 /**
  * Marker interface for deprecated facet factories, so that they can be ignored via a configuration property.
  *
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
index baa5c05..e8d96cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
@@ -23,8 +23,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
@@ -34,8 +33,8 @@ import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
 
 public abstract class ProgrammingModelAbstract implements ProgrammingModel {
 
-    private final List<FacetFactory> facetFactories = Lists.newArrayList();
-    private final List<Object> facetFactoryInstancesOrClasses = Lists.newLinkedList();
+    private final List<FacetFactory> facetFactories = _Lists.newArrayList();
+    private final List<Object> facetFactoryInstancesOrClasses = _Lists.newLinkedList();
 
     public static final String KEY_IGNORE_DEPRECATED = "isis.reflector.facets.ignoreDeprecated";
 
@@ -127,7 +126,7 @@ public abstract class ProgrammingModelAbstract implements ProgrammingModel {
                     return;
                 }
             } else if (facetFactoryInstanceOrClass instanceof Class) {
-                if(DeprecatedMarker.class.isAssignableFrom((Class)facetFactoryInstanceOrClass)) {
+                if(DeprecatedMarker.class.isAssignableFrom((Class<?>)facetFactoryInstanceOrClass)) {
                     return;
                 }
             }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
index f250e18..a166ebd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
@@ -30,7 +30,6 @@ import java.util.stream.Collectors;
 
 import javax.annotation.PostConstruct;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.applib.annotation.DomainService;
@@ -43,6 +42,7 @@ import org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository;
 import org.apache.isis.applib.services.appfeat.ApplicationMemberType;
 import org.apache.isis.applib.services.config.ConfigurationService;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
@@ -124,7 +124,7 @@ public class ApplicationFeatureRepositoryDefault implements ApplicationFeatureRe
 
     private void createApplicationFeaturesFor(final Collection<ObjectSpecification> specifications) {
         // take copy to avoid ConcurrentModificationException
-        final List<ObjectSpecification> objectSpecifications = Lists.newArrayList(specifications);
+        final List<ObjectSpecification> objectSpecifications = _Lists.newArrayList(specifications);
         for (final ObjectSpecification spec : objectSpecifications) {
             createApplicationFeaturesFor(spec);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
index b013d5f..d50ce98 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
@@ -27,6 +27,8 @@ import java.util.Set;
 
 import javax.inject.Inject;
 
+import com.google.common.collect.Maps;
+
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -43,8 +45,6 @@ import org.apache.isis.commons.internal.memento._Mementos.SerializingAdapter;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
 
-import com.google.common.collect.Maps;
-
 /**
  * This service enables a serializable &quot;bookmark&quot; to be created for an entity.
  *
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/config/ConfigurationServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/config/ConfigurationServiceDefault.java
index c8f9bd1..5f28e8a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/config/ConfigurationServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/config/ConfigurationServiceDefault.java
@@ -28,6 +28,9 @@ import java.util.TreeSet;
 
 import javax.annotation.PostConstruct;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -38,8 +41,6 @@ import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.services.configinternal.ConfigurationServiceInternal;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * This is the implementation of the applib's {@link ConfigurationService}, different from the internal
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridLoaderServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridLoaderServiceDefault.java
index c374727..e122f4b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridLoaderServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridLoaderServiceDefault.java
@@ -27,6 +27,12 @@ import javax.annotation.PostConstruct;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 
+import com.google.common.collect.Maps;
+import com.google.common.io.Resources;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -38,11 +44,6 @@ import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Arrays;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.Maps;
-import com.google.common.io.Resources;
 
 @DomainService(
         nature = NatureOfService.DOMAIN,
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridServiceDefault.java
index 435ca38..b30542d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridServiceDefault.java
@@ -19,7 +19,6 @@ package org.apache.isis.core.metamodel.services.grid;
 import java.util.List;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
@@ -136,7 +135,7 @@ public class GridServiceDefault implements GridService {
      */
     @Programmatic
     public String tnsAndSchemaLocation(final Grid grid) {
-        final List<String> parts = Lists.newArrayList();
+        final List<String> parts = _Lists.newArrayList();
 
         parts.add(COMPONENT_TNS);
         parts.add(COMPONENT_SCHEMA_LOCATION);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
index 6391fc7..2be6e0f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
@@ -23,6 +23,11 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Stream;
 
+import com.google.common.base.Strings;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.BookmarkPolicy;
 import org.apache.isis.applib.annotation.LabelPosition;
@@ -47,6 +52,7 @@ import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.jaxb.JaxbService;
 import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.commons.internal.base._Casts;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -107,11 +113,6 @@ 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.SpecificationLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 
 public abstract class GridSystemServiceAbstract<G extends org.apache.isis.applib.layout.grid.Grid> implements GridSystemService<G> {
 
@@ -392,9 +393,9 @@ public abstract class GridSystemServiceAbstract<G extends org.apache.isis.applib
      * Returns a 2-element tuple of [first-second, second-first]
      */
     protected static <T> Tuple<List<T>> surplusAndMissing(final Collection<T> first, final Collection<T> second){
-        final List<T> firstNotSecond = Lists.newArrayList(first);
+        final List<T> firstNotSecond = _Lists.newArrayList(first);
         firstNotSecond.removeAll(second);
-        final List<T> secondNotFirst = Lists.newArrayList(second);
+        final List<T> secondNotFirst = _Lists.newArrayList(second);
         secondNotFirst.removeAll(first);
         return Tuple.of(firstNotSecond, secondNotFirst);
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
index d22aea8..bcc6e70 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
@@ -23,6 +23,10 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.SortedSet;
 
+import com.google.common.base.Joiner;
+import com.google.common.base.Strings;
+import com.google.common.collect.Sets;
+
 import org.apache.isis.applib.services.metamodel.DomainMember;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -54,10 +58,6 @@ import org.apache.isis.core.metamodel.specloader.specimpl.ContributeeMember2;
 import org.apache.isis.core.metamodel.specloader.specimpl.MixedInMember;
 import org.apache.isis.core.metamodel.specloader.specimpl.MixedInMember2;
 
-import com.google.common.base.Joiner;
-import com.google.common.base.Strings;
-import com.google.common.collect.Sets;
-
 public class DomainMemberDefault implements DomainMember {
 
     private final ObjectSpecification spec;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
index 10f1349..f5239f7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
@@ -24,8 +24,6 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Lists;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,6 +37,7 @@ import org.apache.isis.applib.services.command.CommandDtoProcessor;
 import org.apache.isis.applib.services.grid.GridService;
 import org.apache.isis.applib.services.metamodel.DomainMember;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.JdoMetamodelUtil;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
@@ -112,7 +111,7 @@ public class MetaModelServiceDefault implements MetaModelService {
 
         final Collection<ObjectSpecification> specifications = specificationLookup.allSpecifications();
 
-        final List<DomainMember> rows = Lists.newArrayList();
+        final List<DomainMember> rows = _Lists.newArrayList();
         for (final ObjectSpecification spec : specifications) {
             if (exclude(spec)) {
                 continue;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Generation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Generation.java
index 7a93ed9..c14c811 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Generation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Generation.java
@@ -25,9 +25,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.annotation.Nullable;
-
-import java.util.function.Function;
 import com.google.common.base.Joiner;
 import com.google.common.base.Strings;
 import com.google.common.collect.FluentIterable;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Util.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Util.java
index 9ab4db1..aab6ae7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Util.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Util.java
@@ -21,6 +21,8 @@ package org.apache.isis.core.metamodel.services.swagger.internal;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
 import org.apache.isis.applib.services.swagger.SwaggerService;
 import org.apache.isis.commons.internal.base._Casts;
@@ -33,10 +35,6 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 
-import java.util.function.Predicate;
-import java.util.stream.Collector;
-import java.util.stream.Collectors;
-
 import io.swagger.models.Response;
 
 public final class Util {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/ValuePropertyFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/ValuePropertyFactory.java
index 26909f3..19e325f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/ValuePropertyFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/ValuePropertyFactory.java
@@ -25,12 +25,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
-import java.util.function.Function;
 import java.util.function.Supplier;
 
-import javax.annotation.Nullable;
-
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.joda.time.DateTime;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/CurrentHolder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/CurrentHolder.java
index 5670791..747fed7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/CurrentHolder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/CurrentHolder.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.metamodel.spec.feature;
 
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index f1bbb11..9ee7f01 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -27,7 +27,6 @@ import java.util.stream.Stream;
 import com.google.common.base.Objects;
 import com.google.common.base.Strings;
 import com.google.common.collect.FluentIterable;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -38,6 +37,7 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
 import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
@@ -289,7 +289,7 @@ public interface ObjectAction extends ObjectMember {
         public static List<ObjectAction> findTopLevel(
                 final ObjectAdapter adapter,
                 final DeploymentCategory deploymentCategory) {
-            final List<ObjectAction> topLevelActions = Lists.newArrayList();
+            final List<ObjectAction> topLevelActions = _Lists.newArrayList();
 
             addTopLevelActions(adapter, ActionType.USER, topLevelActions);
             if(deploymentCategory.isPrototyping()) {
@@ -324,7 +324,7 @@ public interface ObjectAction extends ObjectMember {
         public static List<ObjectAction> findForAssociation(
                 final ObjectAdapter adapter,
                 final ObjectAssociation association, final DeploymentCategory deploymentCategory) {
-            final List<ObjectAction> associatedActions = Lists.newArrayList();
+            final List<ObjectAction> associatedActions = _Lists.newArrayList();
 
             addActions(adapter, ActionType.USER, association, associatedActions);
             if(deploymentCategory.isPrototyping()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
index 103ac37..c008ac0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
@@ -19,6 +19,9 @@
 
 package org.apache.isis.core.metamodel.spec.feature;
 
+import java.util.function.Function;
+import java.util.function.Predicate;
+
 import javax.annotation.Nullable;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -27,9 +30,6 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.interactions.ActionArgValidityContext;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
-import java.util.function.Function;
-import java.util.function.Predicate;
-
 /**
  * Analogous to {@link ObjectAssociation}.
  */
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
index dbf3570..32229f5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
@@ -21,6 +21,9 @@ package org.apache.isis.core.metamodel.spec.feature;
 
 import java.util.Comparator;
 import java.util.Map;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
 
 import javax.annotation.Nullable;
 
@@ -33,10 +36,6 @@ import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
 import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberOrderFacetComparator;
 
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.stream.Stream;
-
 /**
  * Provides reflective access to an action or a field on a domain object.
  */
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java
index 7402500..5ac7afb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java
@@ -19,13 +19,9 @@
 
 package org.apache.isis.core.metamodel.spec.feature;
 
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.interactions.AccessContext;
-import org.apache.isis.core.metamodel.interactions.InteractionContext;
-import org.apache.isis.core.metamodel.interactions.ValidityContext;
 
 public interface OneToManyAssociation extends ObjectAssociation, OneToManyFeature {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/InjectorMethodEvaluatorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/InjectorMethodEvaluatorDefault.java
index 1f82c31..8c63543 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/InjectorMethodEvaluatorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/InjectorMethodEvaluatorDefault.java
@@ -21,9 +21,12 @@ package org.apache.isis.core.metamodel.specloader;
 
 import java.lang.reflect.Method;
 import java.util.Map;
+
 import com.google.common.collect.Maps;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.isis.core.metamodel.spec.InjectorMethodEvaluator;
 
 public final class InjectorMethodEvaluatorDefault implements InjectorMethodEvaluator {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
index 1e17b45..e03edcf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ServiceInitializer.java
@@ -19,11 +19,15 @@ package org.apache.isis.core.metamodel.specloader;
 import java.lang.reflect.Method;
 import java.util.List;
 import java.util.Map;
+
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
+
 import com.google.common.collect.Maps;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.lang.MethodExtensions;
 
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 c2a9cce..ad77810 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
@@ -22,7 +22,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.slf4j.Logger;
@@ -32,6 +31,7 @@ import org.apache.isis.applib.AppManifest;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.components.ApplicationScopedComponent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.ensure.Assert;
@@ -464,7 +464,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
      */
     @Programmatic
     public Collection<ObjectSpecification> allSpecifications() {
-        return Lists.newArrayList(allCachedSpecifications());
+        return _Lists.newArrayList(allCachedSpecifications());
     }
 
     private Collection<ObjectSpecification> allCachedSpecifications() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
index a88422f..f87caff 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java
@@ -21,11 +21,11 @@ package org.apache.isis.core.metamodel.specloader.classsubstitutor;
 
 import java.util.Set;
 
+import com.google.common.collect.Sets;
+
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.core.commons.lang.ClassUtil;
 
-import com.google.common.collect.Sets;
-
 /**
  * Provides capability to translate or ignore classes.
  */
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 068e701..8f5ef1f 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
@@ -25,9 +25,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.ListExtensions;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -43,7 +43,6 @@ import org.apache.isis.core.metamodel.facets.MethodFilteringFacetFactory;
 import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactory;
 import org.apache.isis.core.metamodel.facets.MethodRemoverConstants;
 import org.apache.isis.core.metamodel.facets.PropertyOrCollectionIdentifyingFacetFactory;
-import org.apache.isis.core.metamodel.progmodel.ObjectSpecificationPostProcessor;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
@@ -62,7 +61,7 @@ public class FacetProcessor implements ServicesInjectorAware {
      * {@link FacetFactory Facet factories}, in order they were
      * {@link #registerFactory(FacetFactory) registered}.
      */
-    private final List<FacetFactory> factories = Lists.newArrayList();
+    private final List<FacetFactory> factories = _Lists.newArrayList();
 
     /**
      * All method prefixes to check in {@link #recognizes(Method)}.
@@ -388,7 +387,7 @@ public class FacetProcessor implements ServicesInjectorAware {
         if (cachedMethodPrefixes != null) {
             return;
         }
-        cachedMethodPrefixes = Lists.newArrayList();
+        cachedMethodPrefixes = _Lists.newArrayList();
         for (final FacetFactory facetFactory : factories) {
             if (facetFactory instanceof MethodPrefixBasedFacetFactory) {
                 final MethodPrefixBasedFacetFactory methodPrefixBasedFacetFactory = (MethodPrefixBasedFacetFactory) facetFactory;
@@ -401,7 +400,7 @@ public class FacetProcessor implements ServicesInjectorAware {
         if (cachedMethodFilteringFactories != null) {
             return;
         }
-        cachedMethodFilteringFactories = Lists.newArrayList();
+        cachedMethodFilteringFactories = _Lists.newArrayList();
         for (final FacetFactory factory : factories) {
             if (factory instanceof MethodFilteringFacetFactory) {
                 final MethodFilteringFacetFactory methodFilteringFacetFactory = (MethodFilteringFacetFactory) factory;
@@ -414,7 +413,7 @@ public class FacetProcessor implements ServicesInjectorAware {
         if (cachedContributeeMemberFacetFactories != null) {
             return;
         }
-        cachedContributeeMemberFacetFactories = Lists.newArrayList();
+        cachedContributeeMemberFacetFactories = _Lists.newArrayList();
         for (final FacetFactory factory : factories) {
             if (factory instanceof ContributeeMemberFacetFactory) {
                 final ContributeeMemberFacetFactory memberOrderingFacetFactory = (ContributeeMemberFacetFactory) factory;
@@ -427,7 +426,7 @@ public class FacetProcessor implements ServicesInjectorAware {
         if (cachedPropertyOrCollectionIdentifyingFactories != null) {
             return;
         }
-        cachedPropertyOrCollectionIdentifyingFactories = Lists.newArrayList();
+        cachedPropertyOrCollectionIdentifyingFactories = _Lists.newArrayList();
         for (FacetFactory factory : factories) {
             if (factory instanceof PropertyOrCollectionIdentifyingFacetFactory) {
                 final PropertyOrCollectionIdentifyingFacetFactory identifyingFacetFactory = (PropertyOrCollectionIdentifyingFacetFactory) factory;
@@ -439,7 +438,7 @@ public class FacetProcessor implements ServicesInjectorAware {
     private static <K, T> List<T> getList(final Map<K, List<T>> map, final K key) {
         List<T> list = map.get(key);
         if (list == null) {
-            list = Lists.newArrayList();
+            list = _Lists.newArrayList();
             map.put(key, list);
         }
         return list;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ContributeeMember.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ContributeeMember.java
index 823d0c6..e083898 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ContributeeMember.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ContributeeMember.java
@@ -17,6 +17,7 @@
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
 import java.util.function.Predicate;
+
 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.ObjectMember;
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 4d77fdf..65c0eb4 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
@@ -27,12 +27,11 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import com.google.common.collect.Lists;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.lang.ListExtensions;
 import org.apache.isis.core.commons.lang.MethodUtil;
@@ -227,14 +226,14 @@ public class FacetedMethodsBuilder {
         final Set<Method> associationCandidateMethods = getFacetProcessor().findAssociationCandidateAccessors(methods, new HashSet<Method>());
 
         // Ensure all return types are known
-        final List<Class<?>> typesToLoad = Lists.newArrayList();
+        final List<Class<?>> typesToLoad = _Lists.newArrayList();
         for (final Method method : associationCandidateMethods) {
             specificationTraverser.traverseTypes(method, typesToLoad);
         }
         getSpecificationLoader().loadSpecifications(typesToLoad, introspectedClass);
 
         // now create FacetedMethods for collections and for properties
-        final List<FacetedMethod> associationFacetedMethods = Lists.newArrayList();
+        final List<FacetedMethod> associationFacetedMethods = _Lists.newArrayList();
 
         findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
         findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
@@ -243,7 +242,7 @@ public class FacetedMethodsBuilder {
     }
 
     private void findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> associationPeers) {
-        final List<Method> collectionAccessors = Lists.newArrayList();
+        final List<Method> collectionAccessors = _Lists.newArrayList();
         getFacetProcessor().findAndRemoveCollectionAccessors(methodRemover, collectionAccessors);
         createCollectionFacetedMethodsFromAccessors(collectionAccessors, associationPeers);
     }
@@ -253,7 +252,7 @@ public class FacetedMethodsBuilder {
      * this will pick up the remaining reference properties.
      */
     private void findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> fields) {
-        final List<Method> propertyAccessors = Lists.newArrayList();
+        final List<Method> propertyAccessors = _Lists.newArrayList();
         getFacetProcessor().findAndRemovePropertyAccessors(methodRemover, propertyAccessors);
 
         findAndRemovePrefixedNonVoidMethods(MethodScope.OBJECT, GET_PREFIX, Object.class, 0, propertyAccessors);
@@ -361,7 +360,7 @@ public class FacetedMethodsBuilder {
             LOG.debug("  looking for action methods");
         }
 
-        final List<FacetedMethod> actionFacetedMethods = Lists.newArrayList();
+        final List<FacetedMethod> actionFacetedMethods = _Lists.newArrayList();
 
         for (int i = 0; i < methods.size(); i++) {
             final Method method = methods.get(i);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
index 62f4fbc..692c81d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionContributee.java
@@ -20,10 +20,9 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
@@ -117,7 +116,7 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
         final List<ObjectActionParameter> serviceParameters = serviceAction.getParameters();
         final List<FacetedMethodParameter> paramPeers = getFacetedMethod().getParameters();
 
-        final List<ObjectActionParameter> contributeeParameters = Lists.newArrayList();
+        final List<ObjectActionParameter> contributeeParameters = _Lists.newArrayList();
         int contributeeParamNum = 0;
 
         for (int serviceParamNum = 0; serviceParamNum < serviceParameters.size(); serviceParamNum++ ) {
@@ -274,13 +273,13 @@ public class ObjectActionContributee extends ObjectActionDefault implements Cont
     // //////////////////////////////////////
 
     static <T> T[] addElementToArray(T[] array, final int n, final T element, final T[] type) {
-        List<T> list = Lists.newArrayList(Arrays.asList(array));
+        List<T> list = _Lists.newArrayList(Arrays.asList(array));
         list.add(n, element);
         return list.toArray(type);
     }
 
     static <T> T[] removeElementFromArray(T[] array, int n, T[] t) {
-        List<T> list = Lists.newArrayList(Arrays.asList(array));
+        List<T> list = _Lists.newArrayList(Arrays.asList(array));
         list.remove(n);
         return list.toArray(t);
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index 71e09bb..deb06b3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -22,10 +22,9 @@ package org.apache.isis.core.metamodel.specloader.specimpl;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Callable;
+import java.util.function.Predicate;
 
 import com.google.common.base.Objects;
-import java.util.function.Predicate;
-import com.google.common.collect.Lists;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,6 +36,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.commons.internal._Constants;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.exceptions.UnknownTypeException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
@@ -192,7 +192,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
         final int parameterCount = getParameterCount();
         final List<FacetedMethodParameter> paramPeers = getFacetedMethod().getParameters();
 
-        final List<ObjectActionParameter> parameters = Lists.newArrayList();
+        final List<ObjectActionParameter> parameters = _Lists.newArrayList();
         for (int paramNum = 0; paramNum < parameterCount; paramNum++) {
             final FacetedMethodParameter paramPeer = paramPeers.get(paramNum);
 
@@ -212,7 +212,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
 
     @Override
     public List<ObjectSpecification> getParameterTypes() {
-        final List<ObjectSpecification> parameterTypes = Lists.newArrayList();
+        final List<ObjectSpecification> parameterTypes = _Lists.newArrayList();
         final List<ObjectActionParameter> parameters = getParameters();
         for (final ObjectActionParameter parameter : parameters) {
             parameterTypes.add(parameter.getSpecification());
@@ -247,7 +247,7 @@ public class ObjectActionDefault extends ObjectMemberAbstract implements ObjectA
     @Override
     public List<ObjectActionParameter> getParameters(final Predicate<ObjectActionParameter> predicate) {
         final List<ObjectActionParameter> allParameters = getParameters();
-        final List<ObjectActionParameter> selectedParameters = Lists.newArrayList();
+        final List<ObjectActionParameter> selectedParameters = _Lists.newArrayList();
         for (int i = 0; i < allParameters.size(); i++) {
             if (predicate.test(allParameters.get(i))) {
                 selectedParameters.add(allParameters.get(i));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
index 154da8d..f540560 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
@@ -19,10 +19,10 @@ package org.apache.isis.core.metamodel.specloader.specimpl;
 import java.util.List;
 
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
@@ -134,7 +134,7 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
         final List<ObjectActionParameter> mixinActionParameters = mixinAction.getParameters();
         final List<FacetedMethodParameter> paramPeers = getFacetedMethod().getParameters();
 
-        final List<ObjectActionParameter> mixedInParameters = Lists.newArrayList();
+        final List<ObjectActionParameter> mixedInParameters = _Lists.newArrayList();
 
         for(int paramNum = 0; paramNum < mixinActionParameters.size(); paramNum++) {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 01055af..5cd5cae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -20,15 +20,13 @@
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
 import java.util.List;
-
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.query.Query;
 import org.apache.isis.applib.query.QueryFindAllInstances;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.commons.lang.ListExtensions;
 import org.apache.isis.core.commons.lang.StringExtensions;
@@ -295,7 +293,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
             final String searchArg,
             final InteractionInitiatedBy interactionInitiatedBy) {
 
-        final List<ObjectAdapter> adapters = Lists.newArrayList();
+        final List<ObjectAdapter> adapters = _Lists.newArrayList();
         final ActionParameterAutoCompleteFacet facet = getFacet(ActionParameterAutoCompleteFacet.class);
 
         if (facet != null) {
@@ -348,7 +346,7 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
             final ObjectAdapter target,
             final List<ObjectAdapter> args,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        final List<ObjectAdapter> adapters = Lists.newArrayList();
+        final List<ObjectAdapter> adapters = _Lists.newArrayList();
         final ActionParameterChoicesFacet facet = getFacet(ActionParameterChoicesFacet.class);
 
         if (facet != null) {
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 271f374..e2a32ca 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
@@ -30,7 +30,6 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -99,7 +98,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
     private final static Logger LOG = LoggerFactory.getLogger(ObjectSpecificationAbstract.class);
 
     private static class SubclassList {
-        private final List<ObjectSpecification> classes = Lists.newArrayList();
+        private final List<ObjectSpecification> classes = _Lists.newArrayList();
 
         public void addSubclass(final ObjectSpecification subclass) {
             if(classes.contains(subclass)) {
@@ -133,7 +132,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
     private static Map<ActionType, List<ObjectAction>> createObjectActionsByType() {
         final Map<ActionType, List<ObjectAction>> map = _Maps.newHashMap();
         for (final ActionType type : ActionType.values()) {
-            map.put(type, Lists.<ObjectAction>newArrayList());
+            map.put(type, _Lists.<ObjectAction>newArrayList());
         }
         return map;
     }
@@ -698,7 +697,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
 
     protected List<ObjectAssociation> sortAssociations(final List<ObjectAssociation> associations) {
         final DeweyOrderSet orderSet = DeweyOrderSet.createOrderSet(associations);
-        final List<ObjectAssociation> orderedAssociations = Lists.newArrayList();
+        final List<ObjectAssociation> orderedAssociations = _Lists.newArrayList();
         sortAssociations(orderSet, orderedAssociations);
         return orderedAssociations;
     }
@@ -721,7 +720,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
 
     protected static List<ObjectAction> sortActions(final List<ObjectAction> actions) {
         final DeweyOrderSet orderSet = DeweyOrderSet.createOrderSet(actions);
-        final List<ObjectAction> orderedActions = Lists.newArrayList();
+        final List<ObjectAction> orderedActions = _Lists.newArrayList();
         sortActions(orderSet, orderedActions);
         return orderedActions;
     }
@@ -734,7 +733,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             }
             else if (element instanceof DeweyOrderSet) {
                 final DeweyOrderSet set = ((DeweyOrderSet) element);
-                final List<ObjectAction> actions = Lists.newArrayList();
+                final List<ObjectAction> actions = _Lists.newArrayList();
                 sortActions(set, actions);
                 actionsToAppendTo.addAll(actions);
             } else {
@@ -756,7 +755,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             return Collections.emptyList();
         }
 
-        final List<ObjectAssociation> contributeeAssociations = Lists.newArrayList();
+        final List<ObjectAssociation> contributeeAssociations = _Lists.newArrayList();
         for (final Object servicePojo : getServicePojos()) {
             addContributeeAssociationsIfAny(servicePojo, contributeeAssociations);
         }
@@ -852,7 +851,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             return Collections.emptyList();
         }
 
-        final List<ObjectAssociation> mixedInAssociations = Lists.newArrayList();
+        final List<ObjectAssociation> mixedInAssociations = _Lists.newArrayList();
 
         for (final Class<?> mixinType : mixinTypes) {
             addMixedInAssociationsIfAny(mixinType, mixedInAssociations);
@@ -942,7 +941,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
         if (isService() || isValue()) {
             return Collections.emptyList();
         }
-        final List<ObjectAction> contributeeActions = Lists.newArrayList();
+        final List<ObjectAction> contributeeActions = _Lists.newArrayList();
 
         for (final Object servicePojo : getServicePojos()) {
             addContributeeActionsIfAny(servicePojo, contributeeActions);
@@ -1034,7 +1033,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             return Collections.emptyList();
         }
 
-        final List<ObjectAction> mixedInActions = Lists.newArrayList();
+        final List<ObjectAction> mixedInActions = _Lists.newArrayList();
 
         for (final Class<?> mixinType : mixinTypes) {
             addMixedInActionsIfAny(mixinType, mixedInActions);
@@ -1218,7 +1217,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
         // there must be a session available
         if(contributed.isIncluded() && !contributeeAndMixedInAssociationsAdded) {
             synchronized (this.associations) {
-                List<ObjectAssociation> associations = Lists.newArrayList(this.associations);
+                List<ObjectAssociation> associations = _Lists.newArrayList(this.associations);
                 associations.addAll(createContributeeAssociations());
                 associations.addAll(createMixedInAssociations());
                 sortAndUpdateAssociations(associations);
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 0c78752..7defaf5 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
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.slf4j.Logger;
@@ -33,6 +32,7 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.NatureOfService;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.commons.util.ToString;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -146,7 +146,7 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
         // making that refactoring.
         //
         final Class<?>[] interfaceTypes = getCorrespondingClass().getInterfaces();
-        final List<ObjectSpecification> interfaceSpecList = Lists.newArrayList();
+        final List<ObjectSpecification> interfaceSpecList = _Lists.newArrayList();
         for (final Class<?> interfaceType : interfaceTypes) {
             final Class<?> substitutedInterfaceType = classSubstitutor.getClass(interfaceType);
             if (substitutedInterfaceType != null) {
@@ -203,7 +203,7 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     // -- create associations and actions
     private List<ObjectAssociation> createAssociations() {
         final List<FacetedMethod> associationFacetedMethods = facetedMethodsBuilder.getAssociationFacetedMethods();
-        final List<ObjectAssociation> associations = Lists.newArrayList();
+        final List<ObjectAssociation> associations = _Lists.newArrayList();
         for (FacetedMethod facetedMethod : associationFacetedMethods) {
             final ObjectAssociation association = createAssociation(facetedMethod);
             if(association != null) {
@@ -226,7 +226,7 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
     private List<ObjectAction> createActions() {
         final List<FacetedMethod> actionFacetedMethods = facetedMethodsBuilder.getActionFacetedMethods();
-        final List<ObjectAction> actions = Lists.newArrayList();
+        final List<ObjectAction> actions = _Lists.newArrayList();
         for (FacetedMethod facetedMethod : actionFacetedMethods) {
             final ObjectAction action = createAction(facetedMethod);
             if(action != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
index cced609..23ee967 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
@@ -21,13 +21,12 @@ package org.apache.isis.core.metamodel.specloader.validator;
 
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
 public class MetaModelValidatorComposite extends MetaModelValidatorAbstract {
 
-    private final List<MetaModelValidator> validators = Lists.newArrayList();
+    private final List<MetaModelValidator> validators = _Lists.newArrayList();
 
 
     public MetaModelValidatorComposite add(final MetaModelValidator validator) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckModuleExtent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckModuleExtent.java
index 962412b..8712cf7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckModuleExtent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckModuleExtent.java
@@ -18,25 +18,20 @@
  */
 package org.apache.isis.core.metamodel.specloader.validator;
 
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import com.google.common.base.Joiner;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.applib.AppManifest;
 import org.apache.isis.applib.AppManifest2;
 import org.apache.isis.applib.Module;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class MetaModelValidatorToCheckModuleExtent extends MetaModelValidatorComposite {
@@ -93,7 +88,7 @@ public class MetaModelValidatorToCheckModuleExtent extends MetaModelValidatorCom
                 } else {
                     List<String> classNames = domainObjectClassNamesByPackage.get(packageName);
                     if (classNames == null) {
-                        classNames = Lists.newArrayList();
+                        classNames = _Lists.newArrayList();
                         domainObjectClassNamesByPackage.put(packageName, classNames);
                     }
                     classNames.add(objSpec.getFullIdentifier());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
index 86ac9bd..1f4d903 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
@@ -23,9 +23,9 @@ import java.util.Map;
 
 import com.google.common.base.Joiner;
 import com.google.common.collect.FluentIterable;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
@@ -60,7 +60,7 @@ public class MetaModelValidatorToCheckObjectSpecIdsUnique extends MetaModelValid
                 ObjectSpecId specId = objSpec.getSpecId();
                 List<ObjectSpecification> objectSpecifications = specsById.get(specId);
                 if(objectSpecifications == null) {
-                    objectSpecifications = Lists.newArrayList();
+                    objectSpecifications = _Lists.newArrayList();
                     specsById.put(specId, objectSpecifications);
                 }
                 objectSpecifications.add(objSpec);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorVisiting.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorVisiting.java
index 0ce0808..78f40db 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorVisiting.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorVisiting.java
@@ -22,8 +22,7 @@ package org.apache.isis.core.metamodel.specloader.validator;
 import java.util.Collection;
 import java.util.List;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 public class MetaModelValidatorVisiting extends MetaModelValidatorAbstract {
@@ -53,7 +52,7 @@ public class MetaModelValidatorVisiting extends MetaModelValidatorAbstract {
 
     private void validateAll(final ValidationFailures validationFailures) {
 
-        final List<ObjectSpecification> specsValidated = Lists.newArrayList();
+        final List<ObjectSpecification> specsValidated = _Lists.newArrayList();
 
         while(validateSpecs(specsValidated, validationFailures)) {
             // validate in a loop, because the act of validating might cause additional specs to be uncovered
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailures.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailures.java
index 05960e5..1503d6a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailures.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailures.java
@@ -22,6 +22,7 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.Set;
 import java.util.SortedSet;
+
 import com.google.common.collect.Sets;
 
 public final class ValidationFailures implements Iterable<String> {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
index 729dae7..7cca63d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/AuthenticationRequestAbstract.java
@@ -22,12 +22,12 @@ package org.apache.isis.core.runtime.authentication;
 import java.util.Collections;
 import java.util.List;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 public abstract class AuthenticationRequestAbstract implements AuthenticationRequest {
 
     private final String name;
-    private final List<String> roles = Lists.newArrayList();
+    private final List<String> roles = _Lists.newArrayList();
 
     public AuthenticationRequestAbstract(final String name) {
         this.name = name;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
index ec5f180..8a163b8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/authentication/standard/AuthenticationManagerStandard.java
@@ -28,10 +28,10 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.exceptions.IsisException;
@@ -45,7 +45,7 @@ public class AuthenticationManagerStandard implements AuthenticationManager {
 
     private final Map<String, String> userByValidationCode = Maps.newHashMap();
 
-    private final List<Authenticator> authenticators = Lists.newArrayList();
+    private final List<Authenticator> authenticators = _Lists.newArrayList();
 
     private RandomCodeGenerator randomCodeGenerator;
     private final IsisConfiguration configuration;
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
index 84ca945..ab6734c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
@@ -20,6 +20,7 @@
 package org.apache.isis.objectstore.jdo.metamodel.facets.object.discriminator;
 
 import javax.jdo.annotations.Discriminator;
+
 import com.google.common.base.Strings;
 
 import org.apache.isis.core.metamodel.JdoMetamodelUtil;
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
index 143a699..dcedf5c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
@@ -33,15 +33,15 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.properties.bigdecimal.javaxvaldigits.BigDecimalFacetOnPropertyFromJavaxValidationDigitsAnnotation;
+import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueFacet;
+import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueSemanticsProvider;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting;
-import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.Visitor;
-import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueFacet;
-import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueSemanticsProvider;
+import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
 import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet;
 import org.apache.isis.objectstore.jdo.metamodel.facets.prop.notpersistent.JdoNotPersistentFacet;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/util/JdoPrimaryKeyPropertyPredicate.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/util/JdoPrimaryKeyPropertyPredicate.java
index a57c155..37e0c70 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/util/JdoPrimaryKeyPropertyPredicate.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/util/JdoPrimaryKeyPropertyPredicate.java
@@ -19,9 +19,10 @@
 package org.apache.isis.objectstore.jdo.metamodel.util;
 
 
+import java.util.function.Predicate;
+
 import javax.jdo.annotations.PrimaryKey;
 
-import java.util.function.Predicate;
 import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
 import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
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 5254cbe..9f53194 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,8 +20,7 @@ package org.apache.isis.progmodels.dflt;
 import java.util.List;
 import java.util.Set;
 
-import com.google.common.collect.Lists;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.context._Plugin;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.action.ActionAnnotationFacetFactory;
@@ -419,9 +418,8 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
 
     @Override
     public List<ObjectSpecificationPostProcessor> getPostProcessors() {
-        return Lists.<ObjectSpecificationPostProcessor>newArrayList(
-                new ActionCollectionParameterDefaultsAndChoicesPostProcessor()
-                );
+        return _Lists.singleton(
+                new ActionCollectionParameterDefaultsAndChoicesPostProcessor() );
     }
 
     // -- HELPER
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_adjust.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_adjust.java
index 8342792..5b6e05a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_adjust.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_adjust.java
@@ -24,14 +24,14 @@ import java.util.List;
 
 import org.junit.Test;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 public class ListUtilsTest_adjust {
     
     
     @Test
     public void sameLength() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.adjust(list, 3);
         
         assertThat(list.size(), is(3));
@@ -42,7 +42,7 @@ public class ListUtilsTest_adjust {
     
     @Test
     public void ifLonger() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.adjust(list, 4);
         
         assertThat(list.size(), is(4));
@@ -54,7 +54,7 @@ public class ListUtilsTest_adjust {
     
     @Test
     public void ifShorter() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.adjust(list, 2);
         
         assertThat(list.size(), is(2));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_insert.java b/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_insert.java
index 4f5f105..a1d899f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_insert.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/commons/lang/ListUtilsTest_insert.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertThat;
 
 import java.util.List;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.junit.Test;
 
@@ -30,7 +30,7 @@ public class ListUtilsTest_insert {
     
     @Test
     public void insert_whenInsertionPointAtBeginning() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.insert(list, 0, Integer.valueOf(10));
         
         assertThat(list.size(), is(4));
@@ -42,7 +42,7 @@ public class ListUtilsTest_insert {
     
     @Test
     public void insert_whenInsertionPointInMiddle() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.insert(list, 1, Integer.valueOf(10));
         
         assertThat(list.size(), is(4));
@@ -54,7 +54,7 @@ public class ListUtilsTest_insert {
 
     @Test
     public void insert_whenInsertionPointAtEnd() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.insert(list, 3, Integer.valueOf(10));
         
         assertThat(list.size(), is(4));
@@ -66,7 +66,7 @@ public class ListUtilsTest_insert {
     
     @Test
     public void insert_whenInsertionPointBeyondEnd() throws Exception {
-        final List<Integer> list = Lists.newArrayList(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
+        final List<Integer> list = _Lists.of(Integer.valueOf(0), Integer.MAX_VALUE, Integer.MIN_VALUE);
         ListExtensions.insert(list, 4, Integer.valueOf(10));
         
         assertThat(list.size(), is(5));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
index 0e15985..0263bbf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets;
 import java.lang.reflect.Method;
 import java.util.List;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.jmock.Expectations;
 import org.junit.Rule;
@@ -121,7 +121,7 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
 
         mockSpecificationLoader = context.mock(SpecificationLoader.class);
 
-        stubServicesInjector = new ServicesInjector(Lists.newArrayList(
+        stubServicesInjector = new ServicesInjector(_Lists.of(
                 stubConfiguration,
                 mockAuthenticationSessionProvider,
                 mockSpecificationLoader,
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/CollectionUtilsTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/CollectionUtilsTest.java
index c1f32c8..83c5bfd 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/CollectionUtilsTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/CollectionUtilsTest.java
@@ -34,7 +34,7 @@ import java.util.TreeSet;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -61,7 +61,7 @@ public class CollectionUtilsTest {
     @Test
     public void whenLinkedList() throws Exception {
 
-        List<Class<?>> collectionTypes = Lists.<Class<?>>newArrayList(
+        List<Class<?>> collectionTypes = _Lists.<Class<?>>of(
                 LinkedList.class,
                 ArrayList.class,
                 CopyOnWriteArrayList.class,
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
index 4352f14..5bada7f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
@@ -18,15 +18,15 @@
  */
 package org.apache.isis.core.metamodel.feature;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
-import com.google.common.collect.Lists;
-
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
@@ -37,9 +37,7 @@ import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 import org.apache.isis.applib.annotation.Where;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
+import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.WhereValueFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
@@ -47,9 +45,6 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 @RunWith(Parameterized.class)
 public class ObjectAssociationPredicatesTest_visibleWhere {
 
@@ -110,23 +105,23 @@ public class ObjectAssociationPredicatesTest_visibleWhere {
             will(returnValue(where));
 
             allowing(mockObjectAssociation).streamFacets();
-            will(returnValue(Lists.newArrayList(mockHiddenFacet).stream()));
+            will(returnValue(_Lists.of(mockHiddenFacet).stream()));
         }});
     }
 
-    private Matcher<Class<? extends Facet>> subclassOf(final Class<?> cls) {
-        return new TypeSafeMatcher<Class<? extends Facet>>() {
-            @Override
-            protected boolean matchesSafely(final Class<? extends Facet> item) {
-                return cls.isAssignableFrom(cls);
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("subclass of " + cls.getName());
-            }
-        };
-    }
+//    private Matcher<Class<? extends Facet>> subclassOf(final Class<?> cls) {
+//        return new TypeSafeMatcher<Class<? extends Facet>>() {
+//            @Override
+//            protected boolean matchesSafely(final Class<? extends Facet> item) {
+//                return cls.isAssignableFrom(cls);
+//            }
+//
+//            @Override
+//            public void describeTo(final Description description) {
+//                description.appendText("subclass of " + cls.getName());
+//            }
+//        };
+//    }
 
     @Test
     public void test() {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_validateServices.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_validateServices.java
index 5834639..f8b4f69 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_validateServices.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefaultTest_validateServices.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.metamodel.services;
 
 import java.util.List;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -51,7 +51,7 @@ public class ServicesInjectorDefaultTest_validateServices {
 
         @Before
         public void setUp() throws Exception {
-            serviceList = Lists.newArrayList();
+            serviceList = _Lists.newArrayList();
             stubConfiguration = new IsisConfigurationDefault();
         }
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index a3b1d23..80527d6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -56,7 +56,7 @@ import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 public class ApplicationFeatureRepositoryDefaultTest {
 
@@ -106,9 +106,9 @@ public class ApplicationFeatureRepositoryDefaultTest {
         @Test
         public void happyCase() throws Exception {
 
-            final List<ObjectAssociation> properties = Lists.<ObjectAssociation>newArrayList(mockProp);
-            final List<ObjectAssociation> collections = Lists.<ObjectAssociation>newArrayList(mockColl);
-            final List<ObjectAction> actions = Lists.newArrayList(mockAct, mockActThatIsHidden);
+            final List<ObjectAssociation> properties = _Lists.<ObjectAssociation>of(mockProp);
+            final List<ObjectAssociation> collections = _Lists.<ObjectAssociation>of(mockColl);
+            final List<ObjectAction> actions = _Lists.of(mockAct, mockActThatIsHidden);
 
             context.checking(new Expectations() {{
                 allowing(mockSpec).isAbstract();
@@ -174,7 +174,7 @@ public class ApplicationFeatureRepositoryDefaultTest {
                 will(returnValue(SemanticsOf.SAFE));
 
                 allowing(mockServiceRegistry).getRegisteredServices();
-                will(returnValue(Lists.newArrayList()));
+                will(returnValue(_Lists.newArrayList()));
             }});
 
             // then
@@ -266,10 +266,10 @@ public class ApplicationFeatureRepositoryDefaultTest {
 
             context.checking(new Expectations() {{
                 allowing(mockServiceRegistry).getRegisteredServices();
-                will(returnValue(Lists.newArrayList()));
+                will(returnValue(_Lists.newArrayList()));
 
                 allowing(mockSpecificationLoader).allSpecifications();
-                will(returnValue(Lists.newArrayList()));
+                will(returnValue(_Lists.newArrayList()));
             }});
 
         }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/BS3GridTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/BS3GridTest.java
index 4cc59e3..e0387b0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/BS3GridTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/BS3GridTest.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import javax.xml.bind.Marshaller;
 
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.junit.After;
 import org.junit.Before;
@@ -85,7 +85,7 @@ public class BS3GridTest {
 
         final ActionLayoutData deleteActionLayoutData = new ActionLayoutData();
         deleteActionLayoutData.setId("delete");
-        headerCol.setActions(Lists.<ActionLayoutData>newArrayList());
+        headerCol.setActions(_Lists.<ActionLayoutData>newArrayList());
         headerCol.getActions().add(deleteActionLayoutData);
 
         // content
@@ -112,7 +112,7 @@ public class BS3GridTest {
 
         // containing a fieldset
         final FieldSet leftPropGroup = new FieldSet("General");
-        tabLeftCol.setFieldSets(Lists.<FieldSet>newArrayList());
+        tabLeftCol.setFieldSets(_Lists.<FieldSet>newArrayList());
         tabLeftCol.getFieldSets().add(leftPropGroup);
         leftPropGroup.setName("General");
 
@@ -124,7 +124,7 @@ public class BS3GridTest {
         // and its associated action
         final ActionLayoutData updateNameActionLayoutData = new ActionLayoutData();
         updateNameActionLayoutData.setId("updateName");
-        namePropertyLayoutData.setActions(Lists.<ActionLayoutData>newArrayList());
+        namePropertyLayoutData.setActions(_Lists.<ActionLayoutData>newArrayList());
         namePropertyLayoutData.getActions().add(updateNameActionLayoutData);
 
         // and the tab also has a right col...
@@ -134,7 +134,7 @@ public class BS3GridTest {
 
         // containing a collection
         final CollectionLayoutData similarToColl = new CollectionLayoutData();
-        tabRightCol.setCollections(Lists.<CollectionLayoutData>newArrayList());
+        tabRightCol.setCollections(_Lists.<CollectionLayoutData>newArrayList());
         tabRightCol.getCollections().add(similarToColl);
         similarToColl.setId("similarTo");
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
index 0f99be8..09f10c1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ServiceInitializerTest.java
@@ -18,19 +18,20 @@
  */
 package org.apache.isis.core.metamodel.specloader;
 
+import static org.apache.isis.commons.internal.base._NullSafe.stream;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import com.google.common.collect.Maps;
+
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.After;
@@ -39,8 +40,9 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
 public class ServiceInitializerTest {
 
@@ -74,7 +76,8 @@ public class ServiceInitializerTest {
 
     
     private static List<Object> listOf(Object... elements) {
-        return Lists.newArrayList(elements);
+        return stream(elements)
+                .collect(Collectors.toList());
     }
 
     public static class DomainServiceWithPostConstruct {
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 2360cbe..d3efc67 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
@@ -19,7 +19,7 @@
 
 package org.apache.isis.core.metamodel.specloader;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
@@ -94,7 +94,7 @@ public abstract class SpecificationLoaderTestAbstract {
 
         stubServicesInjector =
                 new ServicesInjector(
-                    Lists.newArrayList(
+                    _Lists.of(
                         mockAuthenticationSessionProvider,
                         stubConfiguration,
                         mockDeploymentCategoryProvider,
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
index 61c21eb..c9ba8cb 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
@@ -20,7 +20,7 @@
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
 import java.util.function.Predicate;
-import com.google.common.collect.Lists;
+import org.apache.isis.commons.internal.collections._Lists;
 
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
@@ -164,7 +164,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
                 will(returnValue(null));
 
                 oneOf(parentAction).getParameters(with(Expectations.<Predicate<ObjectActionParameter>>anything()));
-                will(returnValue(Lists.newArrayList(objectActionParameter)));
+                will(returnValue(_Lists.of(objectActionParameter)));
             }
         });
 
@@ -183,7 +183,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
                 will(returnValue(null));
 
                 oneOf(parentAction).getParameters(with(Expectations.<Predicate<ObjectActionParameter>>anything()));
-                will(returnValue(Lists.newArrayList(stubObjectActionParameterString, objectActionParameter, stubObjectActionParameterString2)));
+                will(returnValue(_Lists.of(stubObjectActionParameterString, objectActionParameter, stubObjectActionParameterString2)));
             }
         });
 
@@ -202,7 +202,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
                 will(returnValue(null));
 
                 oneOf(parentAction).getParameters(with(Expectations.<Predicate<ObjectActionParameter>>anything()));
-                will(returnValue(Lists.newArrayList(stubObjectActionParameterString, objectActionParameter, stubObjectActionParameterString2)));
+                will(returnValue(_Lists.of(stubObjectActionParameterString, objectActionParameter, stubObjectActionParameterString2)));
             }
         });
 


[isis] 02/02: ISIS-1895: fix ResourceServlet not picked up on skinny war deployment

Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch ISIS-1976-rethink-object-adapters
in repository https://gitbox.apache.org/repos/asf/isis.git

commit d2ed9af15165e54590658df783a44227ee81abf4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 14 11:07:37 2018 +0200

    ISIS-1895: fix ResourceServlet not picked up on skinny war deployment
---
 .../core/webapp/content/ResourceCachingFilter.java | 64 +++++-------------
 .../isis/core/webapp/content/ResourceServlet.java  | 11 +--
 .../apache/isis/core/webapp/modules/WebModule.java |  1 +
 .../core/webapp/modules/WebModule_RestEasy.java    | 11 ++-
 .../webapp/modules/WebModule_StaticResources.java  | 79 ++++++++++++++++++++++
 .../IsisTransactionFilterForRestfulObjects.java    |  7 +-
 6 files changed, 116 insertions(+), 57 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceCachingFilter.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceCachingFilter.java
index ceb7758..d3f18ef 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceCachingFilter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceCachingFilter.java
@@ -33,18 +33,16 @@ import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.isis.commons.internal.exceptions._Exceptions.FluentException;
-
-@WebFilter(
-        initParams = { @WebInitParam(name = "CacheTime", value = "86400") }, 
-        urlPatterns = { 
-                "*.css", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.svg", "*.js", "*.html", "*.swf" }
-)
+//@WebFilter(
+//        initParams = { @WebInitParam(name = "CacheTime", value = "86400") }, 
+//        urlPatterns = { 
+//                "*.css", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.svg", "*.js", "*.html", "*.swf" }
+//)
+//[ahuber] to support Servlet 3.0 annotations @WebFilter, @WebListener or others 
+//with skinny war deployment requires additional configuration, so for now we disable this annotation
 public class ResourceCachingFilter implements Filter {
 
     /**
@@ -113,7 +111,9 @@ public class ResourceCachingFilter implements Filter {
     private String[][] mReplyHeaders = { {} };
 
     /** The cache time in seconds. */
-    private Long cacheTime = 0L;
+    private long cacheTime = 0L;
+    
+    private final static DateFormat httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
 
     /**
      * Initializes the Servlet filter with the cache time and sets up the
@@ -130,9 +130,9 @@ public class ResourceCachingFilter implements Filter {
         final String cacheTime = pConfig.getInitParameter(CACHE_TIME_PARAM_NAME);
         this.cacheTime = Long.parseLong(cacheTime != null ? cacheTime : CACHE_TIME_PARAM_NAME_DEFAULT);
         if (this.cacheTime > 0L) {
-            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, MAX_AGE_VALUE + this.cacheTime.longValue() });
-            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, PRE_CHECK_VALUE + this.cacheTime.longValue() });
-            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, POST_CHECK_VALUE + this.cacheTime.longValue() });
+            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, MAX_AGE_VALUE + this.cacheTime });
+            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, PRE_CHECK_VALUE + this.cacheTime });
+            newReplyHeaders.add(new String[] { CACHE_CONTROL_HEADER, POST_CHECK_VALUE + this.cacheTime });
         } else {
             newReplyHeaders.add(new String[] { PRAGMA_HEADER, NO_CACHE_VALUE });
             newReplyHeaders.add(new String[] { EXPIRES_HEADER, ZERO_STRING_VALUE });
@@ -141,6 +141,7 @@ public class ResourceCachingFilter implements Filter {
         }
         this.mReplyHeaders = new String[newReplyHeaders.size()][2];
         newReplyHeaders.toArray(this.mReplyHeaders);
+        httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
     }
 
     /**
@@ -173,48 +174,17 @@ public class ResourceCachingFilter implements Filter {
         }
         if (this.cacheTime > 0L) {
             final long now = System.currentTimeMillis();
-            final DateFormat httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
-            httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
             httpResponse.addHeader(LAST_MODIFIED_HEADER, httpDateFormat.format(new Date(now)));
-            httpResponse.addHeader(EXPIRES_HEADER, httpDateFormat.format(new Date(now + (this.cacheTime.longValue() * MILLISECONDS_IN_SECOND))));
+            httpResponse.addHeader(EXPIRES_HEADER, httpDateFormat.format(new Date(now + (this.cacheTime * MILLISECONDS_IN_SECOND))));
         }
         httpRequest.setAttribute(REQUEST_ATTRIBUTE, true);
 
-        // try to suppress java.io.IOException of kind 'client connection abort'
-        // 1) the TCP protocol (by design) does not provide a means to check, whether a
-        //    connection has been closed by the client
-        // 2) the exception thrown and the exception message text are specific to the
-        //    servlet-engine implementation, so we can only guess here
-        try {
-            chain.doFilter(servletRequest, servletResponse);
-        } catch (IOException e) {
-            FluentException.of(e)
-            .suppressIf(this::isConnectionAbortException);
-        }
+        chain.doFilter(servletRequest, servletResponse);
     }
 
-    /**
-     * Destroy all humans!
-     *
-     * @see javax.servlet.Filter#destroy()
-     */
     @Override
     public void destroy() {
-    }
-
-    // -- HELPER
-
-    private boolean isConnectionAbortException(IOException e) {
-        // tomcat 9
-        if(e.getMessage().contains("An established connection was aborted by the software in your host machine")) {
-            return true;
-        }
-        // payara 4
-        if(e.getMessage().contains("Connection is closed")) {
-            return true;
-        }
-
-        return false;
+        // nothing to do
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
index 7220aa8..497394e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/webapp/content/ResourceServlet.java
@@ -30,7 +30,6 @@ import java.nio.charset.StandardCharsets;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -49,10 +48,12 @@ import org.apache.isis.core.commons.lang.StringExtensions;
  * Serves static web-resources by class-path or file-system lookup.
  * Also handles HTML-templates, where template's placeholders get replaced by their values.
  */
-@WebServlet(
-        urlPatterns = { 
-                "*.css", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.svg", "*.js", "*.html", "*.swf" }
-        )
+//@WebServlet(
+//        urlPatterns = { 
+//                "*.css", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.svg", "*.js", "*.html", "*.swf" }
+//        )
+//[ahuber] to support Servlet 3.0 annotations @WebFilter, @WebListener or others 
+//with skinny war deployment requires additional configuration, so for now we disable this annotation
 public class ResourceServlet extends HttpServlet {
 
     private static final Logger LOG = LoggerFactory.getLogger(ResourceServlet.class);
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java
index eab3bbd..04233c1 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java
@@ -88,6 +88,7 @@ public interface WebModule {
         
         return Stream.of(
                 new WebModule_Shiro(), // filters before all others
+                new WebModule_StaticResources(),
                 new WebModule_Wicket(),
                 new WebModule_FallbackBootstrapper(), // not required if the Wicket module is in use
                 new WebModule_RestEasy(), // default REST provider
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java
index de06abd..2dbd428 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java
@@ -80,7 +80,8 @@ final class WebModule_RestEasy implements WebModule  {
     @Override
     public ServletContextListener init(ServletContext ctx) throws ServletException {
 
-        // add IsisSessionFilter
+        // add IsisSessionFilters
+        
         {
             final Dynamic filter = ctx.addFilter("IsisSessionFilterForRestfulObjects", IsisSessionFilter.class);
 
@@ -101,6 +102,14 @@ final class WebModule_RestEasy implements WebModule  {
                     getRestfulPath()+"swagger"); 
             
         }
+        
+        {
+            final Dynamic filter = ctx.addFilter("RestfulObjectsRestEasyDispatcher", 
+                    "org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects");
+            filter.addMappingForServletNames(null, true, RESTEASY_DISPATCHER); 
+        }
+        
+        
 
         // add RestEasy
         
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_StaticResources.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_StaticResources.java
new file mode 100644
index 0000000..e280cf2
--- /dev/null
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_StaticResources.java
@@ -0,0 +1,79 @@
+/*
+ *  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.webapp.modules;
+
+import javax.servlet.FilterRegistration.Dynamic;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletException;
+
+import org.apache.isis.core.webapp.content.ResourceCachingFilter;
+import org.apache.isis.core.webapp.content.ResourceServlet;
+
+/**
+ * Package private mixin for WebModule implementing WebModule.
+ * 
+ * @since 2.0.0
+ */
+final class WebModule_StaticResources implements WebModule  {
+    
+    private final static String[] urlPatterns = { 
+          "*.css", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.svg", "*.js", "*.html", "*.swf" };
+    
+    private final static int cacheTimeSeconds = 86400;
+    
+    private final static String RESOURCE_SERVLET_NAME = "ResourceServlet";
+    
+    @Override
+    public String getName() {
+        return "StaticResources";
+    }
+    
+    @Override
+    public void prepare(ServletContext ctx) {
+        // nothing special required
+    }
+
+    @Override
+    public ServletContextListener init(ServletContext ctx) throws ServletException {
+
+        final Dynamic filter = ctx.addFilter("ResourceCachingFilter", ResourceCachingFilter.class);
+        if(filter==null) {
+            return null; // filter was already registered somewhere else (eg web.xml)
+        }
+
+        filter.setInitParameter(
+                "CacheTime", 
+                ""+cacheTimeSeconds);
+        filter.addMappingForUrlPatterns(null, true, urlPatterns);
+        
+        ctx.addServlet(RESOURCE_SERVLET_NAME, ResourceServlet.class);
+        ctx.getServletRegistration(RESOURCE_SERVLET_NAME)
+        .addMapping(urlPatterns);
+        
+        return null; // does not provide a listener
+    }
+
+    @Override
+    public boolean isApplicable(ServletContext ctx) {
+        return true;
+    }
+
+    
+}
diff --git a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
index 4978144..8d9c099 100644
--- a/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
+++ b/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/webapp/IsisTransactionFilterForRestfulObjects.java
@@ -24,13 +24,14 @@ import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
 
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 
-@WebFilter(servletNames= {"RestfulObjectsRestEasyDispatcher"})
+//@WebFilter(servletNames= {"RestfulObjectsRestEasyDispatcher"}) //[ahuber] to support 
+//Servlet 3.0 annotations @WebFilter, @WebListener or others 
+//with skinny war deployment requires additional configuration, so for now we disable this annotation
 public class IsisTransactionFilterForRestfulObjects implements Filter {
 
     @Override
@@ -67,8 +68,6 @@ public class IsisTransactionFilterForRestfulObjects implements Filter {
     public void destroy() {
     }
 
-
-    // REVIEW: ought to be able to obtain from thread or as a request attribute
     protected IsisSessionFactory isisSessionFactoryFrom(final ServletRequest request) {
         return IsisContext.getSessionFactory();
     }