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/07/06 07:26:54 UTC

[isis] branch master updated: ISIS-1841 automated source cleanup

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 8c216fc  ISIS-1841 automated source cleanup
8c216fc is described below

commit 8c216fcc5deb9018b87b220262a9e4fa8ac356a6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jul 6 09:25:02 2018 +0200

    ISIS-1841 automated source cleanup
    
    Add missing '@Override' annotations
    Remove trailing white spaces on all lines
    Correct indentation
---
 .../org/apache/isis/applib/AbstractSubscriber.java |   12 +-
 .../org/apache/isis/applib/AbstractViewModel.java  |    6 +-
 .../java/org/apache/isis/applib/AppManifest.java   |   10 +-
 .../apache/isis/applib/AppManifestAbstract.java    |   16 +-
 .../apache/isis/applib/AppManifestAbstract2.java   |    3 +
 .../apache/isis/applib/ApplicationException.java   |   12 +-
 .../org/apache/isis/applib/FatalException.java     |    6 +-
 .../java/org/apache/isis/applib/Identifier.java    |   12 +-
 .../org/apache/isis/applib/IsisApplibModule.java   |   66 +-
 .../main/java/org/apache/isis/applib/Module.java   |   42 +-
 .../org/apache/isis/applib/ModuleAbstract.java     |   14 +-
 .../isis/applib/ModuleOrBuilderAbstract.java       |   22 +-
 .../isis/applib/NonRecoverableException.java       |   76 +-
 .../apache/isis/applib/PersistFailedException.java |    8 +-
 .../apache/isis/applib/RecoverableException.java   |   36 +-
 .../isis/applib/RecreatableDomainObject.java       |    4 +-
 .../apache/isis/applib/RepositoryException.java    |    6 +-
 .../java/org/apache/isis/applib/ViewModel.java     |    4 +-
 .../isis/applib/adapters/DefaultsProvider.java     |    6 +-
 .../isis/applib/adapters/EncoderDecoder.java       |   12 +-
 .../org/apache/isis/applib/adapters/Parser.java    |   16 +-
 .../applib/adapters/ValueSemanticsProvider.java    |   12 +-
 .../apache/isis/applib/adapters/package-info.java  |    6 +-
 .../isis/applib/annotation/ActionLayout.java       |    4 +-
 .../isis/applib/annotation/BookmarkPolicy.java     |    2 +-
 .../apache/isis/applib/annotation/Contributed.java |    2 +-
 .../apache/isis/applib/annotation/Defaulted.java   |   10 +-
 .../isis/applib/annotation/DomainObject.java       |    2 +-
 .../isis/applib/annotation/DomainObjectLayout.java |    2 +-
 .../isis/applib/annotation/EqualByContent.java     |    8 +-
 .../org/apache/isis/applib/annotation/Facets.java  |    6 +-
 .../apache/isis/applib/annotation/HomePage.java    |    2 +-
 .../isis/applib/annotation/LabelPosition.java      |    2 +-
 .../isis/applib/annotation/MemberGroupLayout.java  |   28 +-
 .../org/apache/isis/applib/annotation/Mixin.java   |    2 +-
 .../apache/isis/applib/annotation/Navigable.java   |   24 +-
 .../isis/applib/annotation/Programmatic.java       |    4 +-
 .../apache/isis/applib/annotation/PromptStyle.java |    2 +-
 .../isis/applib/annotation/PropertyLayout.java     |    2 +-
 .../apache/isis/applib/annotation/RenderDay.java   |    2 +-
 .../apache/isis/applib/annotation/Repainting.java  |    2 +-
 .../org/apache/isis/applib/annotation/Value.java   |   14 +-
 .../org/apache/isis/applib/annotation/Where.java   |   36 +-
 .../java/org/apache/isis/applib/clock/Clock.java   |   14 +-
 .../org/apache/isis/applib/clock/package-info.java |    8 +-
 .../conmap/ContentMappingServiceForCommandDto.java |    6 +-
 .../ContentMappingServiceForCommandsDto.java       |    3 +-
 .../isis/applib/domain/DomainObjectList.java       |   34 +-
 .../applib/events/domain/AbstractDomainEvent.java  |  100 +-
 .../applib/events/domain/ActionDomainEvent.java    |   32 +-
 .../events/domain/CollectionDomainEvent.java       |   32 +-
 .../applib/events/domain/PropertyDomainEvent.java  |   30 +-
 .../events/lifecycle/AbstractLifecycleEvent.java   |    8 +-
 .../events/lifecycle/ObjectCreatedEvent.java       |    6 +-
 .../applib/events/lifecycle/ObjectLoadedEvent.java |    6 +-
 .../events/lifecycle/ObjectPersistedEvent.java     |    6 +-
 .../events/lifecycle/ObjectPersistingEvent.java    |    6 +-
 .../events/lifecycle/ObjectRemovingEvent.java      |    6 +-
 .../events/lifecycle/ObjectUpdatedEvent.java       |    6 +-
 .../events/lifecycle/ObjectUpdatingEvent.java      |    6 +-
 .../isis/applib/events/ui/AbstractUiEvent.java     |   12 +-
 .../isis/applib/events/ui/CssClassUiEvent.java     |   10 +-
 .../apache/isis/applib/events/ui/IconUiEvent.java  |   10 +-
 .../apache/isis/applib/events/ui/TitleUiEvent.java |   12 +-
 .../apache/isis/applib/fixtures/FixtureClock.java  |   24 +-
 .../apache/isis/applib/fixtures/FixtureType.java   |    8 +-
 .../apache/isis/applib/fixtures/LogonFixture.java  |    6 +-
 .../apache/isis/applib/fixtures/package-info.java  |   10 +-
 .../fixturescripts/BuilderScriptAbstract.java      |    8 +-
 .../fixturescripts/DiscoverableFixtureScript.java  |   12 +-
 .../applib/fixturescripts/ExecutionParameters.java |   14 +-
 .../fixturescripts/ExecutionParametersService.java |    2 +-
 .../isis/applib/fixturescripts/FixtureResult.java  |   14 +-
 .../applib/fixturescripts/FixtureResultList.java   |   12 +-
 .../isis/applib/fixturescripts/FixtureScript.java  |   65 +-
 .../isis/applib/fixturescripts/FixtureScripts.java |   85 +-
 .../applib/fixturescripts/SimpleFixtureScript.java |    2 +-
 .../fixturescripts/clock/TickingClockFixture.java  |    6 +-
 .../setup/PersonaEnumPersistAll.java               |    4 +-
 .../teardown/TeardownFixtureAbstract2.java         |    6 +-
 .../applib/layout/component/ActionLayoutData.java  |   21 +-
 .../layout/component/CollectionLayoutData.java     |   15 +-
 .../layout/component/DomainObjectLayoutData.java   |   17 +-
 .../isis/applib/layout/component/FieldSet.java     |   13 +-
 .../layout/component/PropertyLayoutData.java       |   15 +-
 .../layout/component/ServiceActionLayoutData.java  |   30 +-
 .../isis/applib/layout/component/package-info.java |    2 +-
 .../isis/applib/layout/grid/GridAbstract.java      |    6 +
 .../applib/layout/grid/bootstrap3/BS3ClearFix.java |    6 +-
 .../layout/grid/bootstrap3/BS3ClearFixHidden.java  |    4 +-
 .../layout/grid/bootstrap3/BS3ClearFixVisible.java |    4 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Col.java |   33 +-
 .../layout/grid/bootstrap3/BS3ElementAbstract.java |    8 +-
 .../applib/layout/grid/bootstrap3/BS3Grid.java     |   14 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Row.java |   13 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Tab.java |    7 +-
 .../applib/layout/grid/bootstrap3/BS3TabGroup.java |    7 +-
 .../applib/layout/grid/bootstrap3/SizeSpan.java    |   10 +-
 .../org/apache/isis/applib/layout/links/Link.java  |   16 +-
 .../isis/applib/layout/links/package-info.java     |    4 +-
 .../applib/layout/menubars/MenuBarsAbstract.java   |    8 +-
 .../applib/layout/menubars/bootstrap3/BS3Menu.java |    9 +-
 .../layout/menubars/bootstrap3/BS3MenuBar.java     |    4 +-
 .../layout/menubars/bootstrap3/BS3MenuBars.java    |   21 +-
 .../layout/menubars/bootstrap3/BS3MenuSection.java |    4 +-
 .../layout/menubars/bootstrap3/package-info.java   |    4 +-
 .../isis/applib/mixins/dto/DtoMappingHelper.java   |    4 +-
 .../isis/applib/mixins/dto/Dto_downloadXml.java    |    8 +-
 .../isis/applib/mixins/dto/Dto_downloadXsd.java    |    8 +-
 .../mixins/layout/Object_downloadLayoutXml.java    |   20 +-
 .../applib/mixins/layout/Object_openRestApi.java   |   14 +-
 .../mixins/layout/Object_rebuildMetamodel.java     |    8 +-
 .../applib/mixins/timestamp/HoldsUpdatedAt.java    |    2 +-
 .../applib/mixins/timestamp/HoldsUpdatedBy.java    |    2 +-
 .../java/org/apache/isis/applib/package-info.java  |    8 +-
 .../java/org/apache/isis/applib/query/Query.java   |   12 +-
 .../apache/isis/applib/query/QueryAbstract.java    |    8 +-
 .../org/apache/isis/applib/query/QueryDefault.java |    2 +-
 .../isis/applib/query/QueryFindAllInstances.java   |    2 +-
 .../org/apache/isis/applib/query/package-info.java |    4 +-
 .../apache/isis/applib/security/UserMemento.java   |   20 +-
 .../apache/isis/applib/security/package-info.java  |    8 +-
 .../apache/isis/applib/services/HasUsername.java   |    6 +-
 .../services/actinvoc/ActionInvocationContext.java |    2 +-
 .../services/audit/AuditerServiceLogging.java      |    4 +-
 .../background/BackgroundCommandService.java       |    4 +-
 .../services/background/BackgroundService.java     |    4 +-
 .../isis/applib/services/bookmark/Bookmark.java    |   14 +-
 .../services/bookmark/BookmarkHolder_lookup.java   |    4 +-
 .../services/bookmark/BookmarkHolder_object.java   |    6 +-
 .../ClassDiscoveryServiceDefault.java              |   42 +-
 .../isis/applib/services/clock/ClockService.java   |    4 +-
 .../isis/applib/services/command/Command.java      |   96 +-
 .../applib/services/command/CommandContext.java    |    4 +-
 .../applib/services/command/CommandDefault.java    |  106 +-
 .../CommandDtoProcessorForPropertyAbstract.java    |    2 +-
 .../services/command/spi/CommandService.java       |    4 +-
 .../services/config/ConfigurationProperty.java     |   10 +-
 .../services/config/ConfigurationServiceMenu.java  |   22 +-
 .../services/conmap/ContentMappingService.java     |    8 +-
 .../apache/isis/applib/services/error/Ticket.java  |    2 +-
 .../applib/services/eventbus/EventBusService.java  |   38 +-
 .../services/exceprecog/ExceptionRecognizer.java   |   14 +-
 .../exceprecog/ExceptionRecognizerAbstract.java    |   67 +-
 .../exceprecog/ExceptionRecognizerComposite.java   |   16 +-
 .../exceprecog/ExceptionRecognizerForType.java     |   92 +-
 ...eptionRecognizerCompositeForJdoObjectStore.java |    3 +-
 ...xceptionRecognizerForJDODataStoreException.java |    4 +-
 ...traintViolationForeignKeyNoActionException.java |   16 +-
 ...ionRecognizerForJDOObjectNotFoundException.java |    6 +-
 ...yConstraintViolationUniqueOrIndexException.java |   16 +-
 .../fixturespec/FixtureScriptsDefault.java         |   43 +-
 .../fixturespec/FixtureScriptsSpecification.java   |    2 +-
 .../FixtureScriptsSpecificationProvider.java       |    2 +-
 .../isis/applib/services/grid/GridService.java     |    4 +-
 .../isis/applib/services/hint/HintStore.java       |    6 +-
 .../applib/services/hsqldb/HsqlDbManagerMenu.java  |   10 +-
 .../applib/services/i18n/TranslatableString.java   |   14 +-
 .../applib/services/i18n/TranslationService.java   |   24 +-
 .../isis/applib/services/iactn/Interaction.java    |   24 +-
 .../applib/services/iactn/InteractionContext.java  |    4 +-
 .../isis/applib/services/jaxb/JaxbService.java     |   11 +-
 .../applib/services/jaxb/JaxbServiceDefault.java   |    4 +-
 .../applib/services/jdosupport/IsisJdoSupport.java |   30 +-
 .../applib/services/layout/LayoutServiceMenu.java  |   24 +-
 .../services/metamodel/MetaModelServicesMenu.java  |   28 +-
 .../applib/services/metamodel/package-info.java    |    2 +-
 .../services/publish/PublisherServiceLogging.java  |   14 +-
 .../queryresultscache/QueryResultCacheControl.java |    4 +-
 .../queryresultscache/QueryResultsCache.java       |   28 +-
 .../QueryResultsCacheControlInternal.java          |   40 +-
 .../QueryResultsCacheInternal.java                 |   20 +-
 .../services/repository/RepositoryService.java     |    6 +-
 .../services/routing/RoutingServiceDefault.java    |    2 +-
 .../applib/services/scratchpad/Scratchpad.java     |    8 +-
 .../applib/services/swagger/SwaggerService.java    |    2 +-
 .../services/swagger/SwaggerServiceMenu.java       |   20 +-
 .../services/tablecol/TableColumnOrderService.java |    2 +-
 .../services/urlencoding/UrlEncodingService.java   |   18 +-
 ...rlEncodingServiceUsingBaseEncodingAbstract.java |    4 +-
 .../UrlEncodingServiceWithCompression.java         |   36 +-
 .../isis/applib/services/userreg/UserDetails.java  |    6 +-
 .../userreg/events/EmailRegistrationEvent.java     |    2 +-
 .../services/wrapper/InteractionException.java     |    8 +-
 .../applib/services/wrapper/InvalidException.java  |    4 +-
 .../applib/services/wrapper/WrapperFactory.java    |   42 +-
 .../services/wrapper/events/AccessEvent.java       |    6 +-
 .../wrapper/events/ActionArgumentEvent.java        |   12 +-
 .../wrapper/events/ActionInvocationEvent.java      |    4 +-
 .../wrapper/events/ActionUsabilityEvent.java       |    2 +-
 .../wrapper/events/ActionVisibilityEvent.java      |    2 +-
 .../wrapper/events/CollectionAccessEvent.java      |    2 +-
 .../wrapper/events/CollectionAddToEvent.java       |    6 +-
 .../wrapper/events/CollectionMethodEvent.java      |    8 +-
 .../wrapper/events/CollectionRemoveFromEvent.java  |    4 +-
 .../wrapper/events/CollectionUsabilityEvent.java   |    2 +-
 .../wrapper/events/CollectionVisibilityEvent.java  |    2 +-
 .../services/wrapper/events/InteractionEvent.java  |   34 +-
 .../services/wrapper/events/ObjectTitleEvent.java  |    2 +-
 .../wrapper/events/ObjectValidityEvent.java        |    2 +-
 .../wrapper/events/ObjectVisibilityEvent.java      |    2 +-
 .../services/wrapper/events/ParseValueEvent.java   |    2 +-
 .../wrapper/events/PropertyAccessEvent.java        |    2 +-
 .../wrapper/events/PropertyModifyEvent.java        |    4 +-
 .../wrapper/events/PropertyUsabilityEvent.java     |    2 +-
 .../wrapper/events/PropertyVisibilityEvent.java    |    2 +-
 .../services/wrapper/events/UsabilityEvent.java    |    4 +-
 .../services/wrapper/events/ValidityEvent.java     |   10 +-
 .../services/wrapper/events/VisibilityEvent.java   |    4 +-
 .../wrapper/listeners/InteractionListener.java     |   54 +-
 .../applib/services/xactn/TransactionService.java  |    6 +-
 .../services/xmlsnapshot/XmlSnapshotService.java   |   10 +-
 .../xmlsnapshot/XmlSnapshotServiceAbstract.java    |    9 +-
 .../apache/isis/applib/snapshot/package-info.java  |   10 +-
 .../isis/applib/spec/AbstractSpecification.java    |    6 +-
 .../isis/applib/spec/AbstractSpecification2.java   |    9 +-
 .../apache/isis/applib/spec/SpecificationAnd.java  |    8 +-
 .../apache/isis/applib/spec/SpecificationNot.java  |   10 +-
 .../apache/isis/applib/spec/SpecificationOr.java   |    8 +-
 .../org/apache/isis/applib/spec/package-info.java  |    8 +-
 .../org/apache/isis/applib/tree/LazyTreeNode.java  |  208 +-
 .../org/apache/isis/applib/tree/TreeAdapter.java   |   12 +-
 .../java/org/apache/isis/applib/tree/TreeNode.java |  238 +-
 .../applib/tree/TreeNode_iteratorBreadthFirst.java |   62 +-
 .../applib/tree/TreeNode_iteratorDepthFirst.java   |   76 +-
 .../applib/tree/TreeNode_iteratorHierarchyUp.java  |   52 +-
 .../java/org/apache/isis/applib/tree/TreePath.java |   48 +-
 .../apache/isis/applib/tree/TreePath_Default.java  |  112 +-
 .../org/apache/isis/applib/tree/TreeState.java     |   10 +-
 .../apache/isis/applib/tree/TreeState_Default.java |   16 +-
 .../org/apache/isis/applib/types/package-info.java |    2 +-
 .../java/org/apache/isis/applib/util/Enums.java    |   22 +-
 .../java/org/apache/isis/applib/util/Equality.java |   64 +-
 .../java/org/apache/isis/applib/util/Hashing.java  |   62 +-
 .../java/org/apache/isis/applib/util/JaxbUtil.java |   14 +-
 .../isis/applib/util/ObjectContract_Empty.java     |  124 +-
 .../isis/applib/util/ObjectContract_Impl.java      |  138 +-
 .../isis/applib/util/ObjectContract_Parser.java    |  264 +-
 .../apache/isis/applib/util/ObjectContracts.java   |  326 +-
 .../org/apache/isis/applib/util/ReasonBuffer.java  |    4 +-
 .../org/apache/isis/applib/util/TitleBuffer.java   |   20 +-
 .../java/org/apache/isis/applib/util/ToString.java |  108 +-
 .../org/apache/isis/applib/util/package-info.java  |   12 +-
 .../java/org/apache/isis/applib/value/Blob.java    |   24 +-
 .../java/org/apache/isis/applib/value/Clob.java    |   20 +-
 .../java/org/apache/isis/applib/value/Color.java   |    2 +-
 .../isis/applib/value/LocalResourcePath.java       |   54 +-
 .../java/org/apache/isis/applib/value/Markup.java  |   28 +-
 .../isis/applib/value/NamedWithMimeType.java       |    2 +-
 .../org/apache/isis/applib/value/package-info.java |    8 +-
 .../apache/isis/schema/utils/ChangesDtoUtils.java  |    8 +-
 .../apache/isis/schema/utils/CommandDtoUtils.java  |    4 +-
 .../apache/isis/schema/utils/CommonDtoUtils.java   |   66 +-
 .../isis/schema/utils/InteractionDtoUtils.java     |  798 ++---
 .../apache/isis/commons/internal/_Constants.java   |   66 +-
 .../apache/isis/commons/internal/base/_Bytes.java  |  396 +--
 .../internal/base/_Bytes_GZipCompressor.java       |   24 +-
 .../internal/base/_Bytes_GZipCompressorSmart.java  |   74 +-
 .../apache/isis/commons/internal/base/_Casts.java  |   48 +-
 .../apache/isis/commons/internal/base/_Lazy.java   |   72 +-
 .../isis/commons/internal/base/_NullSafe.java      |  312 +-
 .../isis/commons/internal/base/_Reduction.java     |  110 +-
 .../isis/commons/internal/base/_Strings.java       |  658 ++--
 .../internal/base/_Strings_NaturalNames.java       |  126 +-
 .../internal/base/_Strings_SplitIterator.java      |   82 +-
 .../apache/isis/commons/internal/base/_With.java   |  384 +--
 .../isis/commons/internal/base/package-info.java   |    4 +-
 .../isis/commons/internal/collections/_Arrays.java |  122 +-
 .../internal/collections/_Arrays_Collector.java    |  114 +-
 .../collections/_Arrays_CollectorUnknownSize.java  |   76 +-
 .../commons/internal/collections/_Collections.java |  418 +--
 .../collections/_Collections_Collector.java        |   76 +-
 .../collections/_Collections_SortedSetOfList.java  |  236 +-
 .../isis/commons/internal/collections/_Lists.java  |  224 +-
 .../isis/commons/internal/collections/_Maps.java   |  150 +-
 .../commons/internal/collections/_Multimaps.java   |  372 +--
 .../isis/commons/internal/collections/_Sets.java   |  320 +-
 .../commons/internal/collections/package-info.java |    4 +-
 .../commons/internal/compare/_Comparators.java     |   30 +-
 .../compare/_Comparators_SequenceCompare.java      |   22 +-
 .../commons/internal/compare/package-info.java     |    4 +-
 .../isis/commons/internal/context/_Context.java    |  402 +--
 .../isis/commons/internal/context/_Plugin.java     |  264 +-
 .../commons/internal/context/package-info.java     |    4 +-
 .../commons/internal/exceptions/_Exceptions.java   |  462 +--
 .../commons/internal/exceptions/package-info.java  |    4 +-
 .../commons/internal/functions/_Functions.java     |  292 +-
 .../_Functions_IndexAwareFunctionAdapter.java      |   18 +-
 .../commons/internal/functions/package-info.java   |    4 +-
 .../isis/commons/internal/memento/_Mementos.java   |  138 +-
 .../internal/memento/_Mementos_MementoDefault.java |  163 +-
 .../commons/internal/memento/package-info.java     |    4 +-
 .../apache/isis/commons/internal/package-info.java |    4 +-
 .../isis/commons/internal/reflection/_Reflect.java |  231 +-
 .../commons/internal/reflection/package-info.java  |    4 +-
 .../isis/commons/internal/resources/_Resource.java |  170 +-
 .../internal/resources/_Resource_ContextPath.java  |   26 +-
 .../commons/internal/resources/_Resource_Path.java |   70 +-
 .../internal/resources/_Resource_RestfulPath.java  |   26 +-
 .../commons/internal/resources/package-info.java   |    4 +-
 .../isis/core/plugins/PluginResolveException.java  |    6 +-
 .../plugins/classdiscovery/ClassDiscovery.java     |   46 +-
 .../classdiscovery/ClassDiscoveryPlugin.java       |  106 +-
 .../isis/core/plugins/codegen/ProxyFactory.java    |   94 +-
 .../core/plugins/codegen/ProxyFactoryPlugin.java   |   38 +-
 .../isis/core/plugins/eventbus/EventBusPlugin.java |   94 +-
 .../ExceptionRecognizerTranslate.java              |    3 +-
 .../integtestsupport/IntegrationTestAbstract3.java |   14 +-
 .../integtestsupport/IntegrationTestJupiter.java   |  118 +-
 .../core/integtestsupport/ThrowableMatchers.java   |    8 +-
 .../apache/isis/core/integtestsupport/Util.java    |  224 +-
 .../DefaultHeadlessTransactionSupport.java         |  152 +-
 .../scenarios/ObjectFactoryForIntegration.java     |    4 +
 .../runtime/logging/IsisLoggingConfigurer.java     |    8 +-
 .../isis/core/runtime/logging/Log4jLogger.java     |    4 +-
 .../isis/core/runtime/logging/SnapshotServer.java  |    8 +-
 .../isis/tool/mavenplugin/IsisMojoAbstract.java    |   29 +-
 .../isis/tool/mavenplugin/IsisMojoSwagger.java     |    4 +-
 .../isis/tool/mavenplugin/IsisMojoValidate.java    |    6 +-
 .../apache/isis/tool/mavenplugin/IsisMojoXsd.java  |    4 +-
 .../apache/isis/tool/mavenplugin/util/Log4j.java   |    6 +-
 .../isis/tool/mavenplugin/util/MavenProjects.java  |    6 +-
 .../isis/tool/mavenplugin/util/Xpp3Doms.java       |    3 +-
 .../authentication/AuthenticationSession.java      |    2 +-
 .../AuthenticationSessionAbstract.java             |   18 +-
 .../core/commons/authentication/MessageBroker.java |   12 +-
 .../core/commons/authentication/package-info.java  |    6 +-
 .../components/ApplicationScopedComponent.java     |    4 +-
 .../isis/core/commons/components/Installer.java    |    4 +-
 .../core/commons/components/InstallerAbstract.java |    8 +-
 .../apache/isis/core/commons/components/Noop.java  |    2 +-
 .../commons/components/SessionScopedComponent.java |    4 +-
 .../components/TransactionScopedComponent.java     |    6 +-
 .../isis/core/commons/components/package-info.java |    6 +-
 .../core/commons/config/IsisConfiguration.java     |   26 +-
 .../commons/config/IsisConfigurationDefault.java   |   30 +-
 .../isis/core/commons/config/package-info.java     |   14 +-
 .../configbuilder/IsisConfigurationBuilder.java    |   40 +-
 .../commons/encoding/DataOutputStreamExtended.java |    2 +-
 .../isis/core/commons/encoding/Encodable.java      |    2 +-
 .../commons/encoding/FailedToDecodeException.java  |    2 +-
 .../encoding/FailedToDeserializeException.java     |    2 +-
 .../isis/core/commons/encoding/FieldType.java      |    6 +-
 .../isis/core/commons/encoding/package-info.java   |    2 +-
 .../apache/isis/core/commons/ensure/Ensure.java    |   28 +-
 .../isis/core/commons/ensure/package-info.java     |    4 +-
 .../core/commons/exceptions/ExceptionUtils.java    |   40 +-
 .../exceptions/IsisApplicationException.java       |    4 +-
 .../core/commons/exceptions/IsisException.java     |    4 +-
 .../isis/core/commons/exceptions/package-info.java |    2 +-
 .../isis/core/commons/factory/package-info.java    |    6 +-
 .../isis/core/commons/lang/ArrayExtensions.java    |    4 +-
 .../isis/core/commons/lang/ClassExtensions.java    |   10 +-
 .../isis/core/commons/lang/ClassFunctions.java     |    2 +-
 .../isis/core/commons/lang/ClassPredicates.java    |    2 +-
 .../apache/isis/core/commons/lang/ClassUtil.java   |   72 +-
 .../isis/core/commons/lang/DateExtensions.java     |    2 +-
 .../core/commons/lang/InputStreamExtensions.java   |    2 +-
 .../isis/core/commons/lang/ListExtensions.java     |   10 +-
 .../isis/core/commons/lang/MethodExtensions.java   |    6 +-
 .../commons/lang/MethodInvocationPreprocessor.java |  136 +-
 .../apache/isis/core/commons/lang/MethodUtil.java  |   38 +-
 .../isis/core/commons/lang/ResourceUtil.java       |    4 +-
 .../isis/core/commons/lang/StringExtensions.java   |   48 +-
 .../isis/core/commons/lang/StringFunctions.java    |    6 +-
 .../isis/core/commons/lang/StringPredicates.java   |    4 +-
 .../core/commons/lang/ThrowableExtensions.java     |   72 +-
 .../isis/core/commons/lang/package-info.java       |    2 +-
 .../isis/core/commons/matchers/IsisMatchers.java   |    2 +-
 .../isis/core/commons/reflection/Reflect.java      |  298 +-
 ...ResourceStreamSourceContextLoaderClassPath.java |    2 +-
 .../ResourceStreamSourceCurrentClassClassPath.java |    2 +-
 .../isis/core/commons/resource/package-info.java   |    6 +-
 .../core/metamodel/IsisJdoMetamodelPlugin.java     |   54 +-
 .../isis/core/metamodel/JdoMetamodelUtil.java      |    8 +-
 .../metamodel/adapter/MutableProposedHolder.java   |   10 +-
 .../isis/core/metamodel/adapter/ObjectAdapter.java |   50 +-
 .../core/metamodel/adapter/mgr/AdapterManager.java |    3 +-
 .../isis/core/metamodel/adapter/oid/Oid.java       |   54 +-
 .../core/metamodel/adapter/oid/OidMarshaller.java  |   97 +-
 .../isis/core/metamodel/adapter/oid/RootOid.java   |   20 +-
 .../isis/core/metamodel/adapter/package-info.java  |    6 +-
 .../adapter/version/ConcurrencyException.java      |    8 +-
 .../core/metamodel/adapter/version/Version.java    |   42 +-
 .../apache/isis/core/metamodel/consent/Allow.java  |    2 +-
 .../isis/core/metamodel/consent/Consent.java       |   12 +-
 .../core/metamodel/consent/ConsentAbstract.java    |   18 +-
 .../core/metamodel/consent/InteractionAdvisor.java |    2 +-
 .../metamodel/consent/InteractionContextType.java  |    6 +-
 .../core/metamodel/consent/InteractionResult.java  |   12 +-
 .../metamodel/consent/InteractionResultSet.java    |    8 +-
 .../apache/isis/core/metamodel/consent/Veto.java   |    2 +-
 .../core/metamodel/facetapi/DecoratingFacet.java   |    4 +-
 .../apache/isis/core/metamodel/facetapi/Facet.java |   14 +-
 .../core/metamodel/facetapi/FacetAbstract.java     |    8 +-
 .../isis/core/metamodel/facetapi/FacetHolder.java  |    8 +-
 .../isis/core/metamodel/facetapi/FacetUtil.java    |   10 +-
 .../isis/core/metamodel/facetapi/FeatureType.java  |    6 +-
 .../core/metamodel/facetapi/MetaModelRefiner.java  |    4 +-
 .../facetapi/MetaModelValidatorRefiner.java        |    4 +-
 .../core/metamodel/facetapi/MethodRemover.java     |    4 +-
 .../core/metamodel/facetapi/MultiTypedFacet.java   |    4 +-
 .../isis/core/metamodel/facets/Annotations.java    |  212 +-
 .../core/metamodel/facets/CollectionUtils.java     |  130 +-
 .../facets/ContributeeMemberFacetFactory.java      |    6 +-
 .../core/metamodel/facets/DomainEventHelper.java   |   38 +-
 .../isis/core/metamodel/facets/FacetFactory.java   |    9 +-
 .../metamodel/facets/FacetFactoryAbstract.java     |    4 +-
 .../isis/core/metamodel/facets/FacetedMethod.java  |    8 +-
 .../core/metamodel/facets/ImperativeFacet.java     |   48 +-
 .../metamodel/facets/ImperativeFacetMulti.java     |    2 +-
 .../facets/MethodFilteringFacetFactory.java        |    2 +-
 .../core/metamodel/facets/MethodFinderUtils.java   |   14 +-
 .../facets/MethodPrefixBasedFacetFactory.java      |    2 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |   24 +-
 ...ropertyOrCollectionIdentifyingFacetFactory.java |    8 +-
 ...rCollectionIdentifyingFacetFactoryAbstract.java |    4 +-
 .../metamodel/facets/SingleValueFacetAbstract.java |    7 +-
 .../isis/core/metamodel/facets/TypedHolder.java    |    4 +-
 .../core/metamodel/facets/WhereValueFacet.java     |    2 +-
 .../facets/actcoll/typeof/TypeOfFacet.java         |    8 +-
 .../action/ActionAnnotationFacetFactory.java       |   12 +-
 ...nChoicesForCollectionParameterFacetFactory.java |   42 +-
 .../associateWith/AssociatedWithFacetAbstract.java |    4 +-
 .../action/invocation/ActionDomainEventFacet.java  |    2 +-
 .../invocation/ActionDomainEventFacetAbstract.java |    8 +-
 .../invocation/ActionDomainEventFacetDefault.java  |    2 +-
 .../ActionDomainEventFacetForActionAnnotation.java |    2 +-
 .../action/invocation/ActionInvocationFacet.java   |    2 +-
 .../invocation/ActionInvocationFacetAbstract.java  |    4 +-
 ...ctionInvocationFacetForDomainEventAbstract.java |   84 +-
 ...ionFacetForDomainEventFromActionAnnotation.java |   14 +-
 ...onInvocationFacetForDomainEventFromDefault.java |   14 +-
 .../actions/action/invocation/CommandUtil.java     |    8 +-
 .../ActionSemanticsFacetForActionAnnotation.java   |    2 +-
 .../metamodel/facets/actions/bulk/BulkFacet.java   |    3 +-
 .../facets/actions/command/CommandFacet.java       |   12 +-
 .../actions/defaults/ActionDefaultsFacet.java      |    2 +-
 .../facets/actions/homepage/HomePageFacet.java     |    2 +-
 .../annotation/HomePageFacetAnnotationFactory.java |   12 +-
 .../interaction/ActionNamedFacetFactory.java       |    2 +-
 ...okmarkPolicyFacetForActionLayoutAnnotation.java |    2 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |   14 +-
 .../notcontributed/NotContributedFacet.java        |    2 +-
 .../notinservicemenu/NotInServiceMenuFacet.java    |    2 +-
 ...uFacetDerivedFromDomainServiceFacetFactory.java |    2 +-
 .../actions/position/ActionPositionFacet.java      |    2 +-
 .../actions/prototype/PrototypeFacetAbstract.java  |    4 +-
 .../actions/semantics/ActionSemanticsFacet.java    |    2 +-
 .../validate/ActionParameterValidationFacet.java   |    6 +-
 .../actions/validate/ActionValidationFacet.java    |    6 +-
 .../facets/all/describedas/DescribedAsFacet.java   |    2 +-
 .../core/metamodel/facets/all/help/HelpFacet.java  |    2 +-
 .../metamodel/facets/all/named/NamedFacet.java     |    2 +-
 .../CollectionAccessorFacetViaAccessor.java        |    4 +-
 .../CollectionAccessorFacetViaAccessorFactory.java |    6 +-
 .../CollectionAnnotationFacetFactory.java          |   12 +-
 ...ectionAddToFacetForDomainEventFromAbstract.java |   16 +-
 ...acetForDomainEventFromCollectionAnnotation.java |   10 +-
 ...lectionAddToFacetForDomainEventFromDefault.java |   10 +-
 .../modify/CollectionDomainEventFacet.java         |    2 +-
 .../modify/CollectionDomainEventFacetAbstract.java |    8 +-
 .../modify/CollectionDomainEventFacetDefault.java  |    2 +-
 ...ionDomainEventFacetForCollectionAnnotation.java |    2 +-
 ...nRemoveFromFacetForDomainEventFromAbstract.java |   16 +-
 ...acetForDomainEventFromCollectionAnnotation.java |   14 +-
 ...onRemoveFromFacetForDomainEventFromDefault.java |   12 +-
 ...fFacetOnCollectionFromCollectionAnnotation.java |    2 +-
 .../javautilcollection/CollectionFacetFactory.java |    4 +-
 .../javautilcollection/JavaCollectionFacet.java    |    6 +-
 .../layout/CollectionLayoutFacetFactory.java       |    2 +-
 .../NamedFacetForCollectionLayoutAnnotation.java   |   18 +-
 .../layout/NamedFacetForCollectionXml.java         |    6 +-
 .../collections/modify/CollectionAddToFacet.java   |    2 +-
 .../collections/modify/CollectionClearFacet.java   |    2 +-
 .../facets/collections/modify/CollectionFacet.java |    2 +-
 .../modify/CollectionRemoveFromFacet.java          |    2 +-
 .../ParentedFacetSinceCollectionFactory.java       |    4 +-
 .../sortedby/SortedByFacetAbstract.java            |    2 +-
 .../annotation/SortedByFacetAnnotationFactory.java |    2 +-
 .../validate/CollectionValidateAddToFacet.java     |    4 +-
 .../CollectionValidateRemoveFromFacet.java         |    2 +-
 .../collparam/semantics/CollectionSemantics.java   |   54 +-
 .../semantics/CollectionSemanticsFacetDefault.java |    2 +-
 .../facets/fallback/FallbackFacetFactory.java      |    2 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |   49 +-
 .../facets/jaxb/XmlAccessorTypeFacetAbstract.java  |    2 +-
 .../jaxb/XmlJavaTypeAdapterFacetAbstract.java      |    2 +-
 .../facets/jaxb/XmlTransientFacetAbstract.java     |    2 +-
 ...assFacetOnActionFromConfiguredRegexFactory.java |    6 +-
 .../cssclassfa/CssClassFaFacetAbstract.java        |    2 +-
 .../members/cssclassfa/CssClassFaPosition.java     |   14 +-
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |    2 +-
 .../CssClassFaFacetOnMemberFromProperties.java     |    4 +-
 .../cssclassfa/annotprop/MixinInterceptor.java     |   42 +-
 .../annotprop/DescribedAsFacetOnMemberFactory.java |    4 +-
 .../facets/members/disabled/DisabledFacet.java     |    2 +-
 .../forsession/DisableForSessionFacet.java         |    2 +-
 .../disabled/method/DisableForContextFacet.java    |    2 +-
 .../method/DisableForContextFacetNone.java         |    2 +-
 .../DisableForContextFacetViaMethodFactory.java    |    4 +-
 .../facets/members/hidden/HiddenFacetAbstract.java |    2 +-
 .../members/hidden/HiddenFacetAbstractImpl.java    |    2 +-
 .../hidden/forsession/HideForSessionFacet.java     |    2 +-
 .../forsession/HideForSessionFacetAbstract.java    |    2 +-
 .../members/hidden/method/HideForContextFacet.java |    2 +-
 .../hidden/method/HideForContextFacetNone.java     |    2 +-
 .../facets/members/order/MemberOrderFacet.java     |    4 +-
 .../members/order/MemberOrderFacetAbstract.java    |    5 +-
 .../annotprop/MemberOrderFacetProperties.java      |    2 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |    4 +-
 .../facets/object/audit/AuditableFacet.java        |    4 +-
 .../object/audit/AuditableFacetAbstract.java       |    4 +-
 .../autocomplete/AutoCompleteFacetAbstract.java    |   28 +-
 .../BookmarkPolicyFacetAbstract.java               |    2 +-
 .../BookmarkPolicyFacetFallbackFactory.java        |   10 +-
 .../facets/object/cached/CachedFacet.java          |    6 +-
 .../object/callbacks/CreatedCallbackFacet.java     |    4 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/LoadedCallbackFacet.java      |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/PersistedCallbackFacet.java   |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/PersistingCallbackFacet.java  |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/RemovedCallbackFacet.java     |    4 +-
 .../object/callbacks/RemovingCallbackFacet.java    |    4 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/UpdatedCallbackFacet.java     |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../object/callbacks/UpdatingCallbackFacet.java    |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    3 +-
 .../choices/ChoicesFacetFromBoundedAbstract.java   |   18 +-
 .../facets/object/choices/ChoicesFacetUtils.java   |    2 +-
 .../choices/enums/EnumValueSemanticsProvider.java  |    6 +-
 ...ssClassFaFacetForDomainObjectLayoutFactory.java |    4 +-
 .../CssClassFaFacetForViewModelLayoutFactory.java  |    4 +-
 .../facets/object/defaults/DefaultedFacet.java     |    6 +-
 .../object/disabled/DisabledObjectFacet.java       |    8 +-
 .../DisabledObjectFacetViaMethodFactory.java       |    2 +-
 .../DomainObjectAnnotationFacetFactory.java        |  185 +-
 .../AuditableFacetForDomainObjectAnnotation.java   |    2 +-
 .../ChoicesFacetForDomainObjectAnnotation.java     |    8 +-
 .../ImmutableFacetForDomainObjectAnnotation.java   |    8 +-
 .../editing/ImmutableFacetFromConfiguration.java   |    2 +-
 ...ObjectSpecIdFacetForDomainObjectAnnotation.java |    2 +-
 ...cIdFacetForJdoPersistenceCapableAnnotation.java |    2 +-
 .../publishing/PublishObjectsConfiguration.java    |    2 +-
 ...lishedObjectFacetForDomainObjectAnnotation.java |    6 +-
 ...atableObjectFacetForDomainObjectAnnotation.java |    2 +-
 ...lassFaFacetForDomainObjectLayoutAnnotation.java |    4 +-
 ...ssClassFaFacetForViewModelLayoutAnnotation.java |    4 +-
 ...sClassFacetForDomainObjectLayoutAnnotation.java |    4 +-
 .../CssClassFacetForViewModelLayoutAnnotation.java |    4 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |    6 +-
 .../DomainObjectLayoutFacetFactory.java            |    4 +-
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |    4 +-
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |    8 +-
 .../domainservice/DomainServiceFacetAbstract.java  |    6 +-
 .../domainservice/DomainServiceMenuOrder.java      |   10 +-
 .../DomainServiceLayoutFacetAbstract.java          |    6 +-
 .../DomainServiceLayoutFacetFactory.java           |   44 +-
 .../facets/object/facets/FacetsFacet.java          |    6 +-
 .../facets/object/grid/GridFacetDefault.java       |    5 +-
 .../facets/object/grid/GridFacetFactory.java       |    4 +-
 .../facets/object/hidden/HiddenObjectFacet.java    |    8 +-
 .../method/HiddenObjectFacetViaMethodFactory.java  |    2 +-
 .../metamodel/facets/object/icon/IconFacet.java    |    8 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        |    4 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |    2 +-
 .../javalang/IteratorFilteringFacetFactory.java    |    2 +-
 .../ignore/javalang/RemoveMethodsFacetFactory.java |    4 +-
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |    2 +-
 .../jdo/RemoveJdoPrefixedMethodsFacetFactory.java  |    2 +-
 .../facets/object/immutable/ImmutableFacet.java    |    6 +-
 .../object/immutable/ImmutableFacetAbstract.java   |   12 +-
 .../membergroups/MemberGroupLayoutFacet.java       |    2 +-
 .../MemberGroupLayoutFacetAbstract.java            |   12 +-
 .../MemberGroupLayoutFacetAnnotation.java          |    8 +-
 .../annotprop/MemberGroupLayoutFacetFactory.java   |    8 +-
 .../annotprop/MemberGroupLayoutFacetFallback.java  |    6 +-
 .../MemberGroupLayoutFacetProperties.java          |   24 +-
 .../facets/object/mixin/MixinFacetAbstract.java    |    2 +-
 .../mixin/MixinFacetForDomainObjectAnnotation.java |    4 +-
 .../object/navparent/NavigableParentFacet.java     |   22 +-
 .../NavigableParentAnnotationFacetFactory.java     |  138 +-
 .../method/NavigableParentFacetMethod.java         |   34 +-
 .../method/NavigableParentFacetMethodFactory.java  |   16 +-
 .../object/objectspecid/ObjectSpecIdFacet.java     |    2 +-
 .../objectspecid/ObjectSpecIdFacetAbstract.java    |    5 +-
 ...jectSpecIdFacetDerivedFromClassNameFactory.java |    2 +-
 .../ObjectValidPropertiesFacet.java                |    2 +-
 .../impl/ObjectValidPropertiesFacetImpl.java       |    4 +-
 .../metamodel/facets/object/paged/PagedFacet.java  |    4 +-
 .../object/parented/ParentedCollectionFacet.java   |    2 +-
 .../facets/object/parseable/ParseableFacet.java    |    4 +-
 .../parser/ParseableFacetUsingParser.java          |    4 +-
 .../facets/object/plural/PluralFacet.java          |    4 +-
 .../promptStyle/PromptStyleConfiguration.java      |    2 +-
 .../object/promptStyle/PromptStyleFacet.java       |    1 +
 .../promptStyle/PromptStyleFacetAbstract.java      |    2 +-
 .../publishedobject/PublishedObjectFacet.java      |    2 +-
 ...ObjectFacetDeclarativeInitializingAbstract.java |   98 +-
 .../recreatable/RecreatableObjectFacetFactory.java |   11 +-
 ...ctFacetForRecreatableDomainObjectInterface.java |    2 +-
 ...eObjectFacetForRecreatableObjectAnnotation.java |    2 +-
 ...creatableObjectFacetForViewModelAnnotation.java |    2 +-
 .../metamodel/facets/object/recreatable/Util.java  |    2 +-
 .../metamodel/facets/object/title/TitleFacet.java  |    6 +-
 .../annotation/TitleAnnotationFacetFactory.java    |   10 +-
 .../annotation/TitleFacetViaTitleAnnotation.java   |    2 +-
 .../validateobject/ValidateObjectFacet.java        |    8 +-
 .../facets/object/value/EqualByContentFacet.java   |    4 +-
 .../metamodel/facets/object/value/ValueFacet.java  |    2 +-
 .../facets/object/value/ValueFacetAbstract.java    |    2 +-
 ...ValueFacetAnnotationOrConfigurationFactory.java |    2 +-
 .../ValueSemanticsProviderAndFacetAbstract.java    |   16 +-
 .../facets/object/viewmodel/ViewModelFacet.java    |    2 +-
 .../facets/objectvalue/choices/ChoicesFacet.java   |    4 +-
 .../objectvalue/mandatory/MandatoryFacet.java      |    6 +-
 .../mandatory/MandatoryFacetAbstract.java          |    4 +-
 .../mandatory/MandatoryFacetDefault.java           |    4 +-
 .../facets/objectvalue/maxlen/MaxLengthFacet.java  |    2 +-
 .../objectvalue/multiline/MultiLineFacet.java      |    4 +-
 .../renderedadjusted/RenderedAdjustedFacet.java    |    4 +-
 .../objectvalue/typicallen/TypicalLengthFacet.java |    4 +-
 .../ActionParameterAutoCompleteFacet.java          |    2 +-
 .../ActionParameterAutoCompleteFacetViaMethod.java |    6 +-
 ...ameterFromJavaxValidationAnnotationFactory.java |    4 +-
 .../facets/param/choices/ActionChoicesFacet.java   |    2 +-
 .../param/choices/ActionParameterChoicesFacet.java |    2 +-
 ...ChoicesFacetDerivedFromChoicesFacetFactory.java |    4 +-
 .../method/ActionChoicesFacetViaMethod.java        |    6 +-
 .../ActionParameterChoicesFacetViaMethod.java      |    4 +-
 ...ctionParameterChoicesFacetViaMethodFactory.java |   20 +-
 .../defaults/ActionParameterDefaultsFacet.java     |    2 +-
 ...ParameterDefaultFacetDerivedFromTypeFacets.java |    2 +-
 ...tionParameterDefaultsFacetViaMethodFactory.java |    8 +-
 .../NamedFacetForParameterLayoutAnnotation.java    |    8 +-
 .../MandatoryFacetOnParametersDefaultFactory.java  |    2 +-
 .../MandatoryFacetForParameterAnnotation.java      |   14 +-
 ...cetInvertedByNullableAnnotationOnParameter.java |    2 +-
 ...fySpecificationFacetForParameterAnnotation.java |   10 +-
 .../RegExFacetForPatternAnnotationOnParameter.java |    4 +-
 .../PropertyOrCollectionAccessorFacet.java         |    2 +-
 .../PropertyOrCollectionAccessorFacetAbstract.java |    4 +-
 .../propcoll/notpersisted/NotPersistedFacet.java   |    6 +-
 .../accessor/PropertyAccessorFacetViaAccessor.java |    4 +-
 .../PropertyAccessorFacetViaAccessorFactory.java   |    2 +-
 .../autocomplete/PropertyAutoCompleteFacet.java    |    4 +-
 .../method/PropertyAutoCompleteFacetMethod.java    |    4 +-
 .../PropertyAutoCompleteFacetMethodFactory.java    |    2 +-
 ...FromJavaxValidationDigitsAnnotationFactory.java |    2 +-
 .../properties/businesskey/BusinessKeyFacet.java   |    4 +-
 .../properties/choices/PropertyChoicesFacet.java   |    6 +-
 .../properties/defaults/PropertyDefaultFacet.java  |    6 +-
 .../MandatoryFacetOnProperyDefaultFactory.java     |    2 +-
 .../property/PropertyAnnotationFacetFactory.java   |    8 +-
 .../command/CommandFacetForPropertyAnnotation.java |   38 +-
 .../MandatoryFacetForPropertyAnnotation.java       |   16 +-
 ...acetInvertedByNullableAnnotationOnProperty.java |    2 +-
 ...ropertyClearFacetForDomainEventFromDefault.java |   14 +-
 ...rFacetForDomainEventFromPropertyAnnotation.java |   14 +-
 .../property/modify/PropertyDomainEventFacet.java  |    2 +-
 .../modify/PropertyDomainEventFacetAbstract.java   |   10 +-
 .../modify/PropertyDomainEventFacetDefault.java    |    4 +-
 ...pertyDomainEventFacetForPropertyAnnotation.java |    4 +-
 ...opertySetterFacetForDomainEventFromDefault.java |   14 +-
 ...rFacetForDomainEventFromPropertyAnnotation.java |   14 +-
 ...tySetterOrClearFacetForDomainEventAbstract.java |  116 +-
 ...sfySpecificationFacetForPropertyAnnotation.java |   10 +-
 .../RegExFacetForPatternAnnotationOnProperty.java  |    4 +-
 .../NamedFacetForPropertyLayoutAnnotation.java     |    8 +-
 .../propertylayout/NamedFacetForPropertyXml.java   |    6 +-
 ...romptStyleFacetForPropertyLayoutAnnotation.java |   12 +-
 .../publish/PublishedPropertyFacetAbstract.java    |    2 +-
 .../properties/searchable/SearchableFacet.java     |    4 +-
 .../update/clear/PropertyClearFacet.java           |    2 +-
 .../update/init/PropertyInitializationFacet.java   |    6 +-
 .../update/modify/PropertySetterFacet.java         |    4 +-
 .../validating/PropertyValidateFacet.java          |    6 +-
 .../validating/PropertyValidateFacetNone.java      |    2 +-
 .../dflt/PropertyValidateFacetDefaultFactory.java  |    2 +-
 .../DateAndTimeValueSemanticsProviderAbstract.java |    1 +
 .../ValueSemanticsProviderAbstractTemporal.java    |   10 +-
 .../value/bigdecimal/BigDecimalValueFacet.java     |    4 +-
 .../value/blobs/BlobValueSemanticsProvider.java    |    4 +-
 .../value/clobs/ClobValueSemanticsProvider.java    |    6 +-
 .../date/DateValueSemanticsProviderAbstract.java   |    1 +
 .../value/datejdk8local/Jdk8LocalDateUtil.java     |  262 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8LocalDateValueSemanticsProvider.java       |   48 +-
 .../value/datejodalocal/JodaLocalDateUtil.java     |    4 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JodaLocalDateValueSemanticsProvider.java       |   50 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../datesql/JavaSqlDateValueSemanticsProvider.java |    2 +-
 .../datetimejdk8local/Jdk8LocalDateTimeUtil.java   |   82 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8LocalDateTimeValueSemanticsProvider.java   |   62 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8OffsetDateTimeValueSemanticsProvider.java  |    6 +-
 ...fsetDateTimeValueSemanticsProviderAbstract.java |    1 +
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 ...JodaDateTimeValueSemanticsProviderAbstract.java |    1 +
 .../datetimejodalocal/JodaLocalDateTimeUtil.java   |    6 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JodaLocalDateTimeValueSemanticsProvider.java   |   50 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JavaUtilDateValueSemanticsProvider.java        |    2 +-
 .../localrespath/LocalResourcePathValueFacet.java  |    2 +-
 ...athValueFacetUsingSemanticsProviderFactory.java |    2 +-
 .../LocalResourcePathValueSemanticsProvider.java   |   10 +-
 .../facets/value/markup/MarkupValueFacet.java      |    2 +-
 ...kupValueFacetUsingSemanticsProviderFactory.java |   20 +-
 .../value/markup/MarkupValueSemanticsProvider.java |   72 +-
 .../password/PasswordValueSemanticsProvider.java   |    2 +-
 .../time/TimeValueSemanticsProviderAbstract.java   |   57 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../timesql/JavaSqlTimeValueSemanticsProvider.java |    2 +-
 ...ampValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JavaSqlTimeStampValueSemanticsProvider.java    |    2 +-
 .../TimeStampValueSemanticsProviderAbstract.java   |    3 +-
 .../facets/value/treenode/TreeNodeValueFacet.java  |    2 +-
 ...odeValueFacetUsingSemanticsProviderFactory.java |   22 +-
 .../treenode/TreeNodeValueSemanticsProvider.java   |  136 +-
 .../value/url/URLValueSemanticsProvider.java       |    4 +-
 .../interactions/DisablingInteractionAdvisor.java  |    4 +-
 .../interactions/HidingInteractionAdvisor.java     |    4 +-
 .../interactions/InteractionAdvisorFacet.java      |    6 +-
 .../metamodel/interactions/InteractionContext.java |   22 +-
 .../metamodel/interactions/ProposedHolder.java     |    2 +-
 .../interactions/ValidatingInteractionAdvisor.java |    6 +-
 .../isis/core/metamodel/layout/DeweyOrderSet.java  |   42 +-
 .../MemberIdentifierComparator.java                |    2 +-
 .../memberorderfacet/MemberOrderComparator.java    |   10 +-
 .../MemberOrderFacetComparator.java                |    4 +-
 .../OrderSetGroupNameComparator.java               |    2 +-
 ...onParameterDefaultsAndChoicesPostProcessor.java |    2 +-
 .../progmodel/ProgrammingModelAbstract.java        |   10 +-
 .../progmodel/ProgrammingModelPlugin.java          |  120 +-
 .../core/metamodel/services/CollectionHelper.java  |  100 +-
 .../core/metamodel/services/ServicesInjector.java  |   98 +-
 .../services/appfeat/ApplicationFeature.java       |   68 +-
 .../appfeat/ApplicationFeatureFactory.java         |    2 +-
 .../services/appfeat/ApplicationFeatureId.java     |   82 +-
 .../ApplicationFeatureRepositoryDefault.java       |   20 +-
 .../bookmarks/BookmarkServiceInternalDefault.java  |  121 +-
 .../config/ConfigurationServiceDefault.java        |   78 +-
 .../exceprecog/ExceptionRecognizerDocDefault.java  |   14 +-
 .../factory/FactoryServiceInternalDefault.java     |    2 +-
 .../services/grid/GridLoaderServiceDefault.java    |   10 +-
 .../services/grid/GridServiceDefault.java          |    2 +-
 .../services/grid/GridSystemServiceAbstract.java   |    2 +-
 .../grid/bootstrap3/GridSystemServiceBS3.java      |   30 +-
 .../services/layout/LayoutServiceDefault.java      |    9 +-
 .../services/message/MessageServiceNoop.java       |    2 +-
 .../services/metamodel/DomainMemberDefault.java    |   32 +-
 .../metamodel/MetaModelServiceDefault.java         |   32 +-
 .../PersistenceSessionServiceInternal.java         |   14 +-
 .../PersistenceSessionServiceInternalNoop.java     |   12 +-
 .../services/registry/ServiceRegistryDefault.java  |    2 +-
 .../RepositoryServiceInternalDefault.java          |   22 +-
 .../services/swagger/SwaggerServiceDefault.java    |   22 +-
 .../services/swagger/internal/Caching.java         |   12 +-
 .../services/swagger/internal/Generation.java      |  374 +--
 .../swagger/internal/SwaggerSpecGenerator.java     |   20 +-
 .../metamodel/services/swagger/internal/Util.java  |   10 +-
 .../swagger/internal/ValuePropertyFactory.java     |   24 +-
 .../swagger/internal/ValuePropertyPlugin.java      |   66 +-
 .../services/title/TitleServiceDefault.java        |    2 +-
 .../services/user/UserServiceDefault.java          |   16 +-
 .../apache/isis/core/metamodel/spec/Described.java |    2 +-
 .../spec/ElementSpecificationProvider.java         |    2 +-
 .../isis/core/metamodel/spec/Hierarchical.java     |    2 +-
 .../apache/isis/core/metamodel/spec/Instance.java  |    2 +-
 .../isis/core/metamodel/spec/ObjectSpecId.java     |   10 +-
 .../core/metamodel/spec/ObjectSpecification.java   |   58 +-
 .../core/metamodel/spec/ObjectSpecifications.java  |   12 +-
 .../isis/core/metamodel/spec/Specification.java    |    6 +-
 .../core/metamodel/spec/feature/CurrentHolder.java |    4 +-
 .../spec/feature/MutableCurrentHolder.java         |    4 +-
 .../core/metamodel/spec/feature/ObjectAction.java  |   80 +-
 .../spec/feature/ObjectActionContainer.java        |    8 +-
 .../spec/feature/ObjectActionParameter.java        |   14 +-
 .../metamodel/spec/feature/ObjectAssociation.java  |   15 +-
 .../spec/feature/ObjectAssociationContainer.java   |    8 +-
 .../core/metamodel/spec/feature/ObjectFeature.java |    8 +-
 .../core/metamodel/spec/feature/ObjectMember.java  |   30 +-
 .../spec/feature/OneToManyAssociation.java         |    4 +-
 .../metamodel/spec/feature/OneToManyFeature.java   |    6 +-
 .../metamodel/spec/feature/OneToOneFeature.java    |    2 +-
 .../core/metamodel/specloader/CollectionUtils.java |   24 +-
 .../specloader/InjectorMethodEvaluatorDefault.java |    1 +
 .../metamodel/specloader/ReflectorConstants.java   |    6 +-
 .../metamodel/specloader/ServiceInitializer.java   |   30 +-
 .../specloader/SpecificationCacheDefault.java      |    6 +-
 .../metamodel/specloader/SpecificationLoader.java  |   23 +-
 .../classsubstitutor/ClassSubstitutor.java         |   10 +-
 .../specloader/facetprocessor/FacetProcessor.java  |   50 +-
 .../core/metamodel/specloader/package-info.java    |   10 +-
 .../specloader/specimpl/ContributeeMember.java     |    4 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |   26 +-
 .../specimpl/ObjectActionContributee.java          |   28 +-
 .../specloader/specimpl/ObjectActionDefault.java   |   40 +-
 .../specloader/specimpl/ObjectActionMixedIn.java   |    7 +-
 .../specimpl/ObjectActionParameterAbstract.java    |   42 +-
 .../ObjectActionParameterContributeeAbstract.java  |   12 +-
 .../ObjectActionParameterMixedInAbstract.java      |    5 +-
 .../specloader/specimpl/ObjectMemberAbstract.java  |   34 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  119 +-
 .../OneToManyActionParameterContributee.java       |    4 +-
 .../specimpl/OneToManyActionParameterMixedIn.java  |    4 +-
 .../specimpl/OneToManyAssociationContributee.java  |   14 +-
 .../specimpl/OneToManyAssociationDefault.java      |   22 +-
 .../specimpl/OneToManyAssociationMixedIn.java      |   46 +-
 .../OneToOneActionParameterContributee.java        |    4 +-
 .../specimpl/OneToOneActionParameterMixedIn.java   |    4 +-
 .../specimpl/OneToOneAssociationContributee.java   |    8 +-
 .../specimpl/OneToOneAssociationDefault.java       |   42 +-
 .../specimpl/OneToOneAssociationMixedIn.java       |    6 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |   32 +-
 .../ObjectSpecificationOnStandaloneList.java       |   14 +-
 .../traverser/TypeExtractorAbstract.java           |    2 +-
 .../traverser/TypeExtractorMethodParameters.java   |    4 +-
 .../traverser/TypeExtractorMethodReturn.java       |    4 +-
 .../validator/MetaModelInvalidException.java       |    2 +-
 .../MetaModelValidatorToCheckModuleExtent.java     |    8 +-
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |    8 +-
 .../validator/MetaModelValidatorVisiting.java      |    4 +-
 .../specloader/validator/ValidationFailures.java   |    2 +-
 .../core/metamodel/util/DeweyOrderComparator.java  |    2 +-
 .../core/metamodel/util/pchain/ParentChain.java    |   92 +-
 .../metamodel/util/pchain/ParentChainDefault.java  |   44 +-
 .../exploration/ExplorationAuthenticator.java      |    6 +-
 .../standard/AuthenticationManagerStandard.java    |    2 +
 ...enticationManagerStandardInstallerAbstract.java |    2 +-
 .../standard/AuthenticatorAbstract.java            |    8 +-
 .../standard/RandomCodeGeneratorUUID.java          |    4 +-
 .../core/runtime/authorization/package-info.java   |    2 +-
 .../standard/AuthorizationManagerStandard.java     |    2 +
 ...horizationManagerStandardInstallerAbstract.java |    4 +-
 .../AuthenticationRequestLogonFixture.java         |    2 +-
 .../isis/core/runtime/profiler/Profiler.java       |    2 +-
 .../apache/isis/core/runtime/snapshot/Helper.java  |    8 +-
 .../isis/core/runtime/snapshot/IsisSchema.java     |    6 +-
 .../apache/isis/core/runtime/snapshot/Place.java   |    2 +-
 .../isis/core/runtime/snapshot/XmlSchema.java      |   32 +-
 .../isis/core/runtime/snapshot/XmlSnapshot.java    |   62 +-
 .../isis/core/runtime/snapshot/XsMetaModel.java    |   24 +-
 .../core/runtime/threadpool/ThreadPoolSupport.java |   20 +-
 .../core/webapp/content/ResourceCachingFilter.java |   58 +-
 .../diagnostics/IsisLogOnExceptionFilter.java      |    4 +-
 .../core/webapp/routing/RedirectToDocsFilter.java  |    4 +-
 ...JdoDatastoreIdentityAnnotationFacetFactory.java |    2 +-
 .../JdoDatastoreIdentityFacetAbstract.java         |    3 +-
 ...nferredFromJdoDiscriminatorValueAnnotation.java |    2 +-
 ...doPersistenceCapableAnnotationFacetFactory.java |    2 +-
 .../JdoPersistenceCapableFacetAbstract.java        |    5 +-
 .../object/persistencecapable/package-info.java    |    2 +-
 .../facets/object/query/JdoNamedQuery.java         |    2 +-
 .../object/query/JdoQueriesFacetAnnotation.java    |    2 +-
 .../query/JdoQueryAnnotationFacetFactory.java      |   11 +-
 .../facets/object/query/JdoQueryFacet.java         |    2 +-
 .../facets/object/query/JdoQueryFacetAbstract.java |    3 +-
 .../object/query/JdoQueryFacetAnnotation.java      |    2 +-
 .../version/JdoVersionAnnotationFacetFactory.java  |    4 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   32 +-
 ...ndatoryFromJdoColumnAnnotationFacetFactory.java |   58 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   20 +-
 .../JdoNotPersistentFacetAbstract.java             |    2 +-
 .../primarykey/JdoPrimaryKeyFacetAbstract.java     |    2 +-
 ...nalFacetDerivedFromJdoPrimaryKeyAnnotation.java |    2 +-
 .../facets/prop/primarykey/package-info.java       |    2 +-
 .../validator/JdoMetaModelValidator.java           |   20 +-
 .../isis/progmodels/dflt/JavaReflectorHelper.java  |    6 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |   62 +-
 .../codegen/ProxyFactoryPluginUsingByteBuddy.java  |  194 +-
 .../codegen/ProxyFactoryPluginUsingJavassist.java  |  196 +-
 .../ClassDiscoveryPluginUsingReflections.java      |   40 +-
 .../reflections/ReflectDiscovery.java              |  126 +-
 .../reflections/ReflectManifest.java               |  252 +-
 .../plugins/eventbus/EventBusPluginForAxon.java    |  100 +-
 .../webapp/jee/PersistenceUnitNoopProvider.java    |  106 +-
 .../plugins/eventbus/EventBusPluginForGuava.java   |   50 +-
 .../jaxrs/resteasy/IsisResteasy3Plugin.java        |   36 +-
 .../conneg/IsisPrettyPrintingProcessor.java        |    2 +-
 .../PreProcessInterceptorForIsisSession.java       |    2 +-
 .../jaxrs/resteasy/IsisResteasy4Plugin.java        |   36 +-
 .../plugins/jdo/dn4/IsisJdoSupportPlugin4.java     |   34 +-
 .../services/jdosupport/IsisJdoSupportDN4.java     |   16 +-
 .../services/jdosupport/IsisJdoSupport_v3_1.java   |   98 +-
 .../jdosupport/Persistable_datanucleusIdLong.java  |    6 +-
 .../Persistable_datanucleusVersionLong.java        |    6 +-
 .../Persistable_datanucleusVersionTimestamp.java   |    6 +-
 .../Persistable_downloadJdoMetadata.java           |    4 +-
 .../runtime/persistence/adapter/PojoAdapter.java   |   44 +-
 .../DataNucleusApplicationComponents4.java         |   48 +-
 .../system/persistence/IsisLifecycleListener2.java |   10 +-
 .../system/persistence/PersistenceSession4.java    |   62 +-
 .../persistence/PersistenceSessionFactory4.java    |    9 +-
 .../CreateSchemaObjectFromClassMetadata4.java      |   24 +-
 .../datanucleus/DataNucleusLifeCycleHelper.java    |   46 +-
 .../jdo/datanucleus/JDOStateManagerForIsis.java    |    4 +-
 .../PersistenceQueryFindAllInstancesProcessor.java |    7 +-
 ...sistenceQueryFindUsingApplibQueryProcessor.java |   23 +-
 .../queries/PersistenceQueryProcessorAbstract.java |    6 +-
 .../datanucleus/persistence/queries/QueryUtil.java |    4 +-
 .../persistence/spi/JdoObjectIdSerializer.java     |   12 +-
 .../service/eventbus/EventBusServiceJdo.java       |    6 +-
 .../typeconverters/IsisMarkupConverter.java        |    4 +-
 .../typeconverters/IsisPasswordConverter.java      |    4 +-
 .../valuemappings/ByteArrayBlobRdbmsMapping.java   |    1 +
 .../datanucleus/valuetypes/IsisBlobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisClobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisMoneyMapping.java   |   10 +-
 .../plugins/jdo/dn5/IsisJdoSupportPlugin5.java     |   34 +-
 .../services/jdosupport/IsisJdoSupportDN5.java     |   16 +-
 .../services/jdosupport/IsisJdoSupport_v3_2.java   |    4 +-
 .../jdosupport/Persistable_datanucleusIdLong.java  |    6 +-
 .../Persistable_datanucleusVersionLong.java        |    6 +-
 .../Persistable_datanucleusVersionTimestamp.java   |    6 +-
 .../Persistable_downloadJdoMetadata.java           |    4 +-
 .../runtime/persistence/adapter/PojoAdapter.java   |   44 +-
 .../DataNucleusApplicationComponents5.java         |   48 +-
 .../system/persistence/IsisLifecycleListener2.java |   10 +-
 .../system/persistence/PersistenceSession5.java    |   70 +-
 .../persistence/PersistenceSessionFactory5.java    |    8 +-
 .../CreateSchemaObjectFromClassMetadata.java       |   24 +-
 .../datanucleus/DataNucleusLifeCycleHelper.java    |   46 +-
 .../jdo/datanucleus/JDOStateManagerForIsis.java    |    4 +-
 .../PersistenceQueryFindAllInstancesProcessor.java |    7 +-
 ...sistenceQueryFindUsingApplibQueryProcessor.java |   23 +-
 .../queries/PersistenceQueryProcessorAbstract.java |    6 +-
 .../datanucleus/persistence/queries/QueryUtil.java |    4 +-
 .../persistence/spi/JdoObjectIdSerializer.java     |   24 +-
 .../service/eventbus/EventBusServiceJdo.java       |    6 +-
 .../typeconverters/IsisMarkupConverter.java        |    4 +-
 .../typeconverters/IsisPasswordConverter.java      |    4 +-
 .../valuemappings/ByteArrayBlobRdbmsMapping.java   |    1 +
 .../datanucleus/valuetypes/IsisBlobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisClobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisMoneyMapping.java   |   10 +-
 .../isis/core/metamodel/IsisJdoRuntimePlugin.java  |   36 +-
 .../fixtures/FixturesInstallerDelegate.java        |   14 +-
 .../FixturesInstallerFromConfiguration.java        |    4 +-
 .../isis/core/runtime/fixtures/package-info.java   |    4 +-
 .../headless/HeadlessTransactionSupport.java       |    4 +-
 .../HeadlessWithBootstrappingAbstract.java         |    6 +-
 .../isis/core/runtime/headless/IsisSystem.java     |    6 +-
 .../runtime/headless/IsisSystemBootstrapper.java   |   14 +-
 .../core/runtime/headless/logging/LogStream.java   |    6 +
 .../apache/isis/core/runtime/memento/Memento.java  |   52 +-
 .../persistence/objectstore/Slf4jLogger.java       |   34 +-
 .../core/runtime/persistence/package-info.java     |   10 +-
 .../query/PersistenceQueryAbstract.java            |   10 +-
 ...ersistenceQueryFindUsingApplibQueryDefault.java |    6 +-
 .../isis/core/runtime/runner/IsisInjectModule.java |    6 +-
 .../runner/opts/OptionHandlerAppManifest.java      |    8 +-
 .../runtime/runner/opts/OptionHandlerFixture.java  |    8 +-
 .../isis/core/runtime/services/DeweyOrderUtil.java |   10 +-
 .../core/runtime/services/ServiceInstantiator.java |  146 +-
 .../services/ServicesInstallerFromAnnotation.java  |   34 +-
 .../ServicesInstallerFromConfiguration.java        |    1 +
 ...cesInstallerFromConfigurationAndAnnotation.java |    2 +
 .../services/auditing/AuditingServiceInternal.java |    4 +-
 .../AuthenticationSessionProviderDefault.java      |   16 +-
 .../background/BackgroundCommandExecution.java     |    3 +-
 .../background/BackgroundServiceDefault.java       |  296 +-
 .../background/CommandExecutorServiceDefault.java  |  117 +-
 .../background/CommandInvocationHandler.java       |   72 +-
 .../background/ForkingInvocationHandler.java       |   84 +-
 .../changes/ChangedObjectsServiceInternal.java     |    6 +-
 .../command/CommandDtoServiceInternalDefault.java  |   56 +-
 .../services/command/CommandServiceDefault.java    |    2 +-
 .../services/email/EmailServiceDefault.java        |   11 +-
 .../core/runtime/services/error/EmailTicket.java   |  192 +-
 .../core/runtime/services/error/SimpleTicket.java  |   36 +-
 .../eventbus/EventBusImplementationAbstract.java   |   20 +-
 .../services/eventbus/EventBusServiceDefault.java  |   43 +-
 .../homepage/HomePageProviderServiceDefault.java   |    4 +-
 .../core/runtime/services/i18n/po/PoDisabled.java  |   30 +-
 .../core/runtime/services/i18n/po/PoReader.java    |    3 +-
 .../core/runtime/services/i18n/po/PoWriter.java    |    3 +-
 .../services/i18n/po/TranslationServicePo.java     |   16 +-
 .../services/i18n/po/TranslationServicePoMenu.java |   20 +-
 .../ixn/InteractionDtoServiceInternalDefault.java  |    6 +-
 .../services/message/MessageServiceDefault.java    |    2 +-
 .../services/metrics/MetricsServiceDefault.java    |    2 +-
 .../PersistenceSessionServiceInternalDefault.java  |   20 +-
 .../services/publish/PublishedObjectsDefault.java  |   14 +-
 .../publish/PublishingServiceInternalDefault.java  |    5 +-
 .../sessmgmt/SessionManagementServiceDefault.java  |    2 +-
 .../runtime/services/sudo/SudoServiceDefault.java  |    2 +-
 .../userreg/EmailNotificationServiceDefault.java   |   15 +-
 .../services/xactn/TransactionServiceDefault.java  |   14 +-
 .../xmlsnapshot/XmlSnapshotServiceDefault.java     |   11 +-
 .../AbstractIsisSessionTemplate.java               |    6 +-
 .../core/runtime/snapshot/XmlSnapshotBuilder.java  |    2 +-
 .../isis/core/runtime/system/DeploymentType.java   |    4 +-
 .../isis/core/runtime/system/SystemConstants.java  |    2 +-
 .../core/runtime/system/context/IsisContext.java   |  154 +-
 .../system/persistence/PersistenceQuery.java       |    2 +-
 .../system/persistence/PersistenceSession.java     |  152 +-
 .../system/persistence/PersistenceSessionBase.java |   28 +-
 .../persistence/PersistenceSessionFactory.java     |   24 +-
 .../adaptermanager/OidAdapterHashMap.java          |    8 +-
 .../adaptermanager/PojoAdapterHashMap.java         |   10 +-
 .../adaptermanager/RootAndCollectionAdapters.java  |    8 +-
 .../core/runtime/system/session/IsisSession.java   |   18 +-
 .../runtime/system/session/IsisSessionFactory.java |   19 +-
 .../system/session/IsisSessionFactoryBuilder.java  |   10 +-
 .../system/transaction/IsisTransaction.java        |   72 +-
 .../system/transaction/IsisTransactionManager.java |   24 +-
 .../IsisComponentProvider.java                     |   28 +-
 .../IsisComponentProviderDefault2.java             |   10 +-
 .../IsisComponentProviderUsingInstallers.java      |   20 +-
 .../PersistenceCapableTypeFinder.java              |   44 +-
 .../apache/isis/core/webapp/IsisSessionFilter.java |   18 +-
 .../isis/core/webapp/IsisWebAppBootstrapper.java   |    2 +-
 .../apache/isis/core/webapp/WebAppConstants.java   |    4 +-
 .../AuthenticationSessionStrategyAbstract.java     |    2 +-
 .../auth/AuthenticationSessionStrategyDefault.java |    2 +-
 .../webapp/jee/IsisCDIBeanScanInterceptor.java     |   96 +-
 .../IsisConfigurationForJdoIntegTests.java         |    4 +-
 .../jdo/datanucleus/JdoRuntimeException.java       |    2 +-
 .../datanucleus/metamodel/JdoPropertyUtils.java    |    4 +-
 .../commands/AbstractDataNucleusObjectCommand.java |    7 +-
 .../queries/PersistenceQueryProcessor.java         |    2 +-
 .../service/support/TimestampService.java          |    6 +-
 .../objectstore/jdo/service/RegisterEntities.java  |    4 +-
 .../security/shiro/IsisLdapContextFactory.java     |    6 +-
 .../apache/isis/security/shiro/IsisLdapRealm.java  |    2 +-
 .../shiro/ShiroAuthenticatorOrAuthorizor.java      |   28 +-
 .../ShiroAuthenticationManagerInstaller.java       |    2 +-
 .../shiro/authorization/IsisPermission.java        |    9 +-
 .../authorization/IsisPermissionResolver.java      |    3 +-
 .../PermissionToRoleMapperFromIni.java             |    2 +-
 .../authentication/AuthenticatorBypass.java        |    2 +-
 .../BypassAuthenticationManagerInstaller.java      |    2 +-
 .../scenarios/DomainServiceProvider.java           |    6 +-
 .../scenarios/DomainServiceProviderMockery.java    |    6 +-
 .../core/specsupport/scenarios/InMemoryDB.java     |   38 +-
 .../specsupport/scenarios/ScenarioExecution.java   |  108 +-
 .../scenarios/ScenarioExecutionForUnit.java        |   16 +-
 .../scenarios/ScenarioExecutionScope.java          |    8 +-
 .../core/specsupport/specs/CukeGlueAbstract.java   |   92 +-
 .../org/apache/isis/core/specsupport/specs/V.java  |  132 +-
 .../ServiceInstantiatorTestUsingCodegenPlugin.java |  340 +-
 .../BidirectionalRelationshipContractTestAll.java  |   12 +-
 .../unittestsupport/bidir/ChildDomainObject.java   |    2 +-
 .../bidir/InstantiatorForChildDomainObject.java    |    4 +-
 .../unittestsupport/bidir/ParentDomainObject.java  |    4 +-
 .../unittestsupport/bidir/PeerDomainObject.java    |    4 +-
 .../comparable/CategorizedDomainObject.java        |   14 +-
 ...mainObjectComparableContractTest_compareTo.java |   16 +-
 .../files/FilesTest_deleteFiles.java               |   14 +-
 .../CollaboratingUsingConstructorInjection.java    |    6 +-
 .../CollaboratingUsingSetterInjection.java         |    8 +-
 .../ImposteriserTestUsingCodegenPlugin.java        |   18 +-
 ...IsisActionsTest_returnNewTransientInstance.java |   10 +-
 .../jmocking/JMockActionsTest_returnEach.java      |    2 +-
 .../jmocking/JUnitRuleMockery2Test.java            |    2 +-
 ..._autoWiring_constructorInjection_happyCase.java |   14 +-
 ...y2Test_autoWiring_sadCase_noClassUnderTest.java |    6 +-
 ...est_autoWiring_sadCase_twoClassesUnderTest.java |    6 +-
 ...2Test_autoWiring_setterInjection_happyCase.java |   14 +-
 ...RuleMockery2Test_mockAnnotatedWithAllowing.java |   16 +-
 ...RuleMockery2Test_mockAnnotatedWithChecking.java |   26 +-
 ...RuleMockery2Test_mockAnnotatedWithIgnoring.java |   16 +-
 ...kery2Test_mockAnnotatedWithNever_happyCase.java |   14 +-
 ...ockery2Test_mockAnnotatedWithNever_sadCase.java |   12 +-
 ...ockery2Test_mockAnnotatedWithOne_happyCase.java |   14 +-
 ...eMockery2Test_mockAnnotatedWithOne_sadCase.java |   14 +-
 .../sortedsets/SomeDomainObject.java               |    2 +-
 .../proxy/ProxyCreatorTestUsingCodegenPlugin.java  |   98 +-
 .../AbstractApplyToAllContractTest.java            |   14 +-
 ...irectionalRelationshipContractTestAbstract.java |  244 +-
 .../core/unittestsupport/bidir/Instantiator.java   |    2 +-
 .../unittestsupport/bidir/InstantiatorMap.java     |    6 +-
 .../unittestsupport/bidir/InstantiatorSimple.java  |    2 +-
 .../isis/core/unittestsupport/bidir/Parent.java    |   10 +-
 .../ComparableContractTest_compareTo.java          |    2 +-
 .../comparable/ComparableContractTester.java       |   12 +-
 .../isis/core/unittestsupport/files/Files.java     |    2 +-
 ...rviceMethodMustBeFinalContractTestAbstract.java |   10 +-
 .../core/unittestsupport/jaxb/JaxbMatchers.java    |    2 +-
 .../jmocking/ImposteriserUsingCodegenPlugin.java   |   24 +-
 .../unittestsupport/jmocking/Imposterisers.java    |   18 +-
 .../core/unittestsupport/jmocking/IsisActions.java |    8 +-
 .../unittestsupport/jmocking/JMockActions.java     |   22 +-
 .../jmocking/JUnitRuleMockery2.java                |  107 +-
 .../unittestsupport/jmocking/MyMockomatic.java     |   92 +-
 .../soap/SoapEndpointPublishingRule.java           |   20 +-
 .../sortedsets/SortedSetsContractTestAbstract.java |   10 +-
 .../core/unittestsupport/utils/ReflectUtils.java   |   20 +-
 .../value/ValueTypeContractTestAbstract.java       |    6 +-
 .../apache/isis/viewer/legacy/ClientExecutor.java  |  160 +-
 .../apache/isis/viewer/legacy/ClientRequest.java   |   22 +-
 .../isis/viewer/legacy/ClientRequestFactory.java   |   36 +-
 .../apache/isis/viewer/legacy/RestEasyLegacy.java  |   96 +-
 .../restfulobjects/applib/JsonRepresentation.java  | 3464 ++++++++++----------
 .../restfulobjects/applib/LinkRepresentation.java  |    6 +-
 .../isis/viewer/restfulobjects/applib/Rel.java     |   64 +-
 .../restfulobjects/applib/RelDefinition.java       |    4 +-
 .../restfulobjects/applib/RepresentationType.java  |   26 +-
 .../restfulobjects/applib/RestfulHttpMethod.java   |    8 +-
 .../restfulobjects/applib/RestfulMediaType.java    |   30 +-
 .../applib/client/ClientRequestConfigurer.java     |   20 +-
 .../applib/client/RepresentationWalker.java        |    6 +-
 .../applib/client/RestfulClient.java               |    2 +-
 .../applib/client/RestfulResponse.java             |    8 +-
 .../applib/client/UriBuilderPlugin.java            |   32 +-
 .../DomainObjectMemberRepresentation.java          |    6 +-
 .../domainobjects/DomainObjectRepresentation.java  |    8 +-
 .../applib/domainobjects/DomainObjectResource.java |   62 +-
 .../applib/domainobjects/DomainRepresentation.java |    8 +-
 .../domainobjects/DomainServiceResource.java       |   24 +-
 .../ObjectCollectionRepresentation.java            |    2 +-
 .../applib/domaintypes/DomainTypeResource.java     |    8 +-
 .../applib/menubars/MenuBarsResource.java          |    4 +-
 .../restfulobjects/applib/util/JsonMapper.java     |   26 +-
 .../restfulobjects/applib/util/JsonNodeUtils.java  |    6 +-
 .../restfulobjects/applib/util/MediaTypes.java     |   82 +-
 .../viewer/restfulobjects/applib/util/Parser.java  |   56 +-
 .../restfulobjects/applib/util/PathNode.java       |   10 +-
 .../restfulobjects/rendering/LinkFollowSpecs.java  |    2 +-
 .../restfulobjects/rendering/RendererContext.java  |    6 +-
 .../rendering/ReprRendererAbstract.java            |    4 +-
 .../viewer/restfulobjects/rendering/Responses.java |    8 +-
 .../AbstractObjectMemberReprRenderer.java          |   12 +-
 .../domainobjects/ActionResultReprRenderer.java    |   50 +-
 .../domainobjects/CollectionSemantics.java         |    2 +-
 .../domainobjects/DomainObjectLinkTo.java          |    2 +-
 .../domainobjects/DomainObjectReprRenderer.java    |   24 +-
 .../domainobjects/DomainServiceLinkTo.java         |    6 +-
 .../rendering/domainobjects/InvokeKeys.java        |    6 +-
 .../rendering/domainobjects/JsonValueEncoder.java  |   65 +-
 .../rendering/domainobjects/ListReprRenderer.java  |    2 +-
 .../rendering/domainobjects/MemberReprMode.java    |    2 +-
 .../domainobjects/ObjectActionReprRenderer.java    |    2 +-
 .../ObjectCollectionReprRenderer.java              |    2 +-
 .../domainobjects/ObjectPropertyReprRenderer.java  |    8 +-
 .../domainobjects/ScalarValueReprRenderer.java     |    8 +-
 .../AbstractTypeMemberReprRenderer.java            |    4 +-
 .../RepresentationServiceContentNegotiator.java    |    2 +-
 .../acceptheader/AcceptHeaderServiceForRest.java   |   30 +-
 .../conneg/ContentNegotiationServiceAbstract.java  |    7 +
 ...entNegotiationServiceForRestfulObjectsV1_0.java |   18 +-
 .../ContentNegotiationServiceOrgApacheIsisV1.java  |   53 +-
 .../ContentNegotiationServiceXRoDomainType.java    |    2 +-
 .../rendering/util/FollowSpecUtil.java             |    2 +-
 .../restfulobjects/rendering/util/OidUtils.java    |    2 +-
 .../server/IsisJaxrsServerPlugin.java              |   34 +-
 .../restfulobjects/server/ResourceContext.java     |   16 +-
 .../server/RestfulObjectsApplication.java          |    4 +-
 .../AuthenticationSessionStrategyBasicAuth.java    |    2 +-
 .../AuthenticationSessionStrategyHeader.java       |    2 +-
 .../server/mappers/ExceptionMapperAbstract.java    |   14 +-
 .../server/mappers/entity/ExceptionDetail.java     |   12 +-
 .../server/mappers/entity/ExceptionPojo.java       |   12 +-
 .../server/mappers/entity/package-info.java        |    4 +-
 .../resources/DomainObjectResourceServerside.java  |   94 +-
 .../server/resources/DomainResourceHelper.java     |    2 +-
 .../resources/DomainServiceResourceServerside.java |   34 +-
 .../resources/DomainServicesListReprRenderer.java  |    2 +-
 .../resources/DomainTypeResourceServerside.java    |    8 +-
 .../server/resources/ImageResourceServerside.java  |    8 +-
 .../resources/MenuBarsResourceServerside.java      |    4 +-
 .../server/resources/ObjectActionArgHelper.java    |   32 +-
 .../resources/ObjectAdapterAccessHelper.java       |   14 +-
 .../resources/ObjectAdapterUpdateHelper.java       |    2 +-
 .../server/resources/SwaggerSpecResource.java      |    8 +-
 .../server/util/UrlDecoderUtils.java               |    2 +-
 .../applib/WicketDeveloperUtilitiesService.java    |    6 +-
 .../wicket/viewer/IsisWicketApplication.java       | 1628 ++++-----
 .../viewer/wicket/viewer/IsisWicketModule.java     |    8 +-
 .../imagecache/ImageResourceCacheClassPath.java    |    4 +-
 .../viewer/imagecache/ImageResourceCacheKey.java   |   10 +-
 .../isis/DeploymentTypeWicketAbstract.java         |    8 +-
 .../viewer/integration/isis/WicketServer.java      |    8 +-
 .../integration/isis/WicketServerPrototype.java    |    6 +-
 .../wicket/AuthenticatedWebSessionForIsis.java     |   66 +-
 .../wicket/ConverterForObjectAdapter.java          |    2 +-
 .../integration/wicket/LocalizerForIsis.java       |   16 +-
 .../integration/wicket/WebRequestCycleForIsis.java |   28 +-
 .../ComponentFactoryRegistrarDefault.java          |   46 +-
 .../ComponentFactoryRegistryDefault.java           |    4 +-
 .../registries/pages/PageClassListDefault.java     |    4 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |    2 +-
 .../viewer/services/DeepLinkServiceWicket.java     |    2 +-
 .../viewer/services/GuiceBeanProviderWicket.java   |    2 +-
 .../services/HintStoreUsingWicketSession.java      |    8 +-
 .../viewer/services/LocaleProviderWicket.java      |    2 +-
 .../wicket/viewer/services/Object_clearHints.java  |    6 +-
 .../services/TranslationsResolverWicket.java       |   14 +-
 .../wicket/model/hints/HasUiHintDisambiguator.java |    2 +-
 .../wicket/model/hints/IsisEventAbstract.java      |    6 +-
 .../wicket/model/hints/IsisSelectorEvent.java      |    2 +-
 .../viewer/wicket/model/hints/UiHintContainer.java |    2 +-
 .../wicket/model/isis/WicketViewerSettings.java    |    6 +-
 .../wicket/model/links/ListOfLinksModel.java       |    4 +-
 .../wicket/model/mementos/ActionMemento.java       |   10 +-
 .../model/mementos/ActionParameterMemento.java     |    6 +-
 .../wicket/model/mementos/CollectionMemento.java   |    2 +-
 .../model/mementos/ObjectAdapterMemento.java       |  116 +-
 .../wicket/model/mementos/PageParameterNames.java  |   26 +-
 .../wicket/model/mementos/PropertyMemento.java     |    4 +-
 .../viewer/wicket/model/mementos/SpecUtils.java    |    6 +-
 .../viewer/wicket/model/models/AboutModel.java     |    2 +-
 .../viewer/wicket/model/models/ActionModel.java    |   77 +-
 .../wicket/model/models/BookmarkTreeNode.java      |  100 +-
 .../model/models/BookmarkTreeNodeComparator.java   |   14 +-
 .../wicket/model/models/BookmarkableModel.java     |    4 +-
 .../wicket/model/models/BookmarkedPagesModel.java  |   10 +-
 .../wicket/model/models/EntityCollectionModel.java |  112 +-
 .../viewer/wicket/model/models/EntityModel.java    |   45 +-
 .../model/models/EntityModelForReference.java      |    2 +
 .../wicket/model/models/ImageResourceCache.java    |    2 +-
 .../isis/viewer/wicket/model/models/PageType.java  |    8 +-
 .../viewer/wicket/model/models/ScalarModel.java    |   65 +-
 .../model/models/ScalarModelWithMultiPending.java  |    2 +-
 .../model/models/ScalarModelWithPending.java       |   14 +-
 .../wicket/model/models/ServiceActionsModel.java   |    3 +-
 .../isis/viewer/wicket/model/models/Util.java      |   36 +-
 .../viewer/wicket/model/models/ValueModel.java     |    6 +-
 .../isis/viewer/wicket/model/models/VoidModel.java |    6 +-
 .../model/models/whereami/WhereAmIModel.java       |   62 +-
 .../models/whereami/WhereAmIModelDefault.java      |  156 +-
 .../viewer/wicket/model/util/ComponentHintKey.java |    8 +-
 .../isis/viewer/wicket/ui/ComponentFactory.java    |   10 +-
 .../viewer/wicket/ui/ComponentFactoryAbstract.java |    4 +-
 .../isis/viewer/wicket/ui/ComponentType.java       |   10 +-
 .../ui/actionresponse/ActionResultResponse.java    |   12 +-
 .../ActionResultResponseHandlingStrategy.java      |   10 +-
 .../actionresponse/ActionResultResponseType.java   |   26 +-
 .../ui/app/registry/ComponentFactoryRegistrar.java |    4 +-
 .../ui/app/registry/ComponentFactoryRegistry.java  |    8 +-
 .../wicket/ui/components/about/AboutPanel.java     |   10 +-
 .../ui/components/about/JarManifestAttributes.java |   16 +-
 .../ui/components/about/JarManifestListView.java   |    2 +-
 .../ui/components/about/JarManifestModel.java      |   36 +-
 .../ui/components/about/JarManifestPanel.java      |    1 +
 .../ui/components/actionlink/ActionLinkPanel.java  |    4 +-
 .../entityactions/AdditionalLinksPanel.java        |   74 +-
 .../entityactions/EntityActionLinkFactory.java     |    4 +-
 .../actionmenu/serviceactions/CssMenuItem.java     |   38 +-
 .../serviceactions/ServiceActionLinkFactory.java   |    2 +-
 .../serviceactions/ServiceActionUtil.java          |   56 +-
 .../serviceactions/ServiceActionsPanel.java        |   68 +-
 .../serviceactions/TertiaryActionsPanel.java       |   16 +-
 .../actionprompt/ActionPromptModalWindow.java      |    4 +-
 .../actions/ActionFormExecutorStrategy.java        |    9 +-
 .../components/actions/ActionParametersForm.java   |   12 +-
 .../components/actions/ActionParametersPanel.java  |    6 +-
 .../bookmarkedpages/BookmarkedPagesPanel.java      |   22 +-
 .../collection/AssociatedWithActionsHelper.java    |   10 +-
 .../ui/components/collection/CollectionPanel.java  |   10 +-
 .../collection/bulk/BulkActionsLinkFactory.java    |   12 +-
 .../selector/CollectionSelectorHelper.java         |   10 +-
 .../selector/CollectionSelectorPanel.java          |    3 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   80 +-
 .../CollectionContentsSortableDataProvider.java    |    4 +-
 .../ajaxtable/IsisAjaxFallbackDataTable.java       |   16 +-
 .../ajaxtable/IsisAjaxFallbackHeadersToolbar.java  |   24 +-
 .../ajaxtable/IsisAjaxFallbackOrderByBorder.java   |   22 +-
 .../ajaxtable/IsisAjaxHeadersToolbar.java          |    6 +-
 .../ajaxtable/IsisAjaxNavigationToolbar.java       |    4 +-
 .../ajaxtable/IsisAjaxPagingNavigation.java        |    2 +-
 .../IsisAjaxPagingNavigationIncrementLink.java     |    2 +-
 .../ajaxtable/IsisAjaxPagingNavigator.java         |    2 +-
 .../ajaxtable/columns/ColumnAbstract.java          |    2 +-
 .../columns/ObjectAdapterPropertyColumn.java       |    3 +-
 .../columns/ObjectAdapterTitleColumn.java          |    2 +-
 .../columns/ObjectAdapterToggleboxColumn.java      |   16 +-
 .../CollectionContentsMultipleViewsPanel.java      |    8 +-
 ...ollectionContentsMultipleViewsPanelFactory.java |    2 +-
 .../summary/CollectionContentsAsSummary.java       |   11 +-
 .../CollectionContentsAsSummaryFactory.java        |   71 +-
 .../entity/collection/EntityCollectionPanel.java   |    1 +
 .../components/entity/fieldset/PropertyGroup.java  |   39 +-
 .../entity/icontitle/EntityIconAndTitlePanel.java  |   29 +-
 .../selector/links/EntityLinksSelectorPanel.java   |    1 +
 .../wicket/ui/components/footer/FooterPanel.java   |   24 +-
 .../wicket/ui/components/layout/bs3/col/Col.java   |   80 +-
 .../components/layout/bs3/tabs/TabGroupPanel.java  |   14 +-
 .../ui/components/layout/bs3/tabs/TabPanel.java    |    3 +-
 .../ui/components/property/PropertyEditForm.java   |   15 +-
 .../components/property/PropertyEditFormPanel.java |    2 +-
 .../ui/components/property/PropertyEditPanel.java  |    2 +-
 .../property/PropertyFormExecutorStrategy.java     |    7 +-
 .../scalars/ComponentFactoryScalarAbstract.java    |    2 +-
 .../ui/components/scalars/DateConverter.java       |   10 +-
 .../components/scalars/DateConverterAbstract.java  |    8 +-
 .../ui/components/scalars/DateConverterPlugin.java |   10 +-
 .../components/scalars/IsisConverterLocator.java   |   56 +-
 .../components/scalars/ScalarPanelAbstract2.java   |   45 +-
 .../scalars/ScalarPanelTextFieldAbstract.java      |    5 +-
 .../ScalarPanelTextFieldDatePickerAbstract.java    |   26 +-
 .../scalars/ScalarPanelTextFieldNumeric.java       |    6 +-
 .../ui/components/scalars/TextFieldAbstract.java   |    4 +-
 .../ui/components/scalars/TextFieldValueModel.java |    6 +-
 .../scalars/datepicker/DateTimeConfig.java         |   18 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.java    |   72 +-
 .../scalars/isisapplib/IsisBlobPanel.java          |    4 +-
 .../scalars/isisapplib/IsisClobPanel.java          |    4 +-
 .../jdk8time/DateConverterForJdk8Abstract.java     |    4 +-
 .../jdk8time/DateConverterForJdk8LocalDate.java    |    4 +-
 .../DateConverterForJdk8LocalDateTime.java         |   22 +-
 .../DateConverterForJdk8OffsetDateTime.java        |   88 +-
 .../scalars/jdk8time/Jdk8LocalDatePanel.java       |    2 +-
 .../scalars/jdk8time/Jdk8LocalDateTimePanel.java   |    3 +-
 .../scalars/jdk8time/Jdk8OffsetDateTimePanel.java  |    1 +
 .../jdkdates/DateConverterForJavaAbstract.java     |    6 +-
 .../jdkdates/DateConverterForJavaSqlDate.java      |    4 +-
 .../jdkdates/DateConverterForJavaSqlTimestamp.java |    2 +-
 .../jdkdates/DateConverterForJavaUtilDate.java     |    4 +-
 .../jdkmath/BigDecimalConverterWithScale.java      |   22 +-
 .../scalars/jdkmath/BigDecimalTextField.java       |   11 +-
 .../scalars/jdkmath/JavaMathBigDecimalPanel.java   |    1 +
 .../jdkmath/JavaMathBigDecimalPanelFactory.java    |    8 +-
 .../scalars/jdkmath/JavaMathBigIntegerPanel.java   |    2 +-
 .../jodatime/DateConverterForJodaAbstract.java     |    4 +-
 .../jodatime/DateConverterForJodaDateTime.java     |    4 +-
 .../jodatime/DateConverterForJodaLocalDate.java    |    2 +-
 .../scalars/jodatime/JodaDateTimePanel.java        |    1 +
 .../scalars/jodatime/JodaLocalDatePanel.java       |    2 +-
 .../scalars/jodatime/JodaLocalDateTimePanel.java   |    1 +
 .../components/scalars/markup/MarkupComponent.java |   88 +-
 .../ui/components/scalars/markup/MarkupPanel.java  |   80 +-
 .../scalars/markup/MarkupPanelFactories.java       |  130 +-
 .../components/scalars/primitive/BooleanPanel.java |    7 +-
 .../components/scalars/primitive/DoublePanel.java  |    2 +-
 .../scalars/reference/EntityLinkSelect2Panel.java  |    2 +-
 .../scalars/reference/ReferencePanel.java          |   46 +-
 .../scalars/string/MultiLineStringPanel.java       |    3 +-
 .../ui/components/scalars/string/StringPanel.java  |    4 +-
 .../scalars/string/StringPanelFactory.java         |    4 +-
 .../ui/components/scalars/uuid/UuidPanel.java      |    1 +
 .../ui/components/scalars/uuid/UuidTextField.java  |    9 +-
 .../ui/components/scalars/value/ValuePanel.java    |    2 +-
 .../valuechoices/ValueChoicesSelect2Panel.java     |    4 +-
 .../StandaloneCollectionPanel.java                 |   11 +-
 .../components/tree/IsisToWicketTreeAdapter.java   |  848 ++---
 .../ui/components/tree/StandaloneTreePanel.java    |   12 +-
 .../wicket/ui/components/tree/TreePanel.java       |   62 +-
 .../ui/components/tree/TreePanelFactories.java     |  142 +-
 .../ui/components/unknown/UnknownModelPanel.java   |    2 +-
 .../unknown/UnknownModelPanelFactory.java          |    2 +-
 .../value/StandaloneValuePanelFactory.java         |    2 +-
 .../widgets/breadcrumbs/BreadcrumbModel.java       |    8 +-
 .../widgets/breadcrumbs/BreadcrumbPanel.java       |   52 +-
 .../widgets/buttons/ContainedButtonPanel.java      |    2 +-
 .../widgets/checkbox/ContainedToggleboxPanel.java  |   18 +-
 .../entitysimplelink/EntityLinkSimplePanel.java    |    4 +-
 .../formcomponent/FormComponentPanelAbstract.java  |    6 +-
 .../widgets/linkandlabel/ActionLink.java           |   92 +-
 .../linkandlabel/ActionLinkFactoryAbstract.java    |  114 +-
 .../linkandlabel/AjaxDeferredBehaviour.java        |    4 +-
 .../ui/components/widgets/navbar/Placement.java    |    2 +-
 .../ui/components/widgets/select2/Select2.java     |   12 +-
 .../widgets/select2/Select2MultiChoiceExt.java     |    4 +-
 .../select2/providers/EmptyChoiceProvider.java     |    6 +-
 .../ObjectAdapterMementoProviderAbstract.java      |    8 +-
 ...tAdapterMementoProviderForReferenceChoices.java |    3 +-
 ...entoProviderForReferenceObjectAutoComplete.java |    2 +-
 ...derForReferenceParamOrPropertyAutoComplete.java |    2 +-
 ...bjectAdapterMementoProviderForValueChoices.java |    3 +-
 .../widgets/themepicker/ThemeChooser.java          |    8 +-
 .../widgets/zclip/SimpleClipboardModalWindow.java  |    4 +-
 .../zclip/SimpleClipboardModalWindowForm.java      |    4 +-
 .../zclip/SimpleClipboardModalWindowPanel.java     |    6 +-
 .../widgets/zclip/ZeroClipboardPanel.java          |   14 +-
 .../viewer/wicket/ui/errors/ExceptionModel.java    |    2 +-
 .../wicket/ui/errors/ExceptionStackTracePanel.java |   95 +-
 .../viewer/wicket/ui/errors/JGrowlBehaviour.java   |    4 +-
 .../isis/viewer/wicket/ui/errors/JGrowlUtil.java   |   12 +-
 .../viewer/wicket/ui/errors/StackTraceDetail.java  |   22 +-
 .../wicket/ui/errors/StackTraceListView.java       |    2 +-
 .../ui/pages/BookmarkedPagesModelProvider.java     |    2 +-
 .../isis/viewer/wicket/ui/pages/PageAbstract.java  |   92 +-
 .../isis/viewer/wicket/ui/pages/PageClassList.java |    2 +-
 .../ui/pages/accmngt/AccountConfirmationMap.java   |  244 +-
 .../accmngt/AccountManagementPageAbstract.java     |    2 +-
 .../accmngt/password_reset/PasswordResetPage.java  |    2 +-
 .../ui/pages/accmngt/register/RegisterPanel.java   |   30 +-
 .../pages/accmngt/signup/RegistrationFormPage.java |    2 +-
 .../ui/pages/actionprompt/ActionPromptPage.java    |    4 +-
 .../viewer/wicket/ui/pages/entity/EntityPage.java  |   68 +-
 .../viewer/wicket/ui/pages/error/ErrorPage.java    |    8 +-
 .../isis/viewer/wicket/ui/pages/home/HomePage.java |    8 +-
 .../wicket/ui/pages/mmverror/MmvErrorPage.java     |    4 +-
 .../StandaloneCollectionPage.java                  |    2 +-
 .../viewer/wicket/ui/pages/value/ValuePage.java    |   12 +-
 .../wicket/ui/pages/voidreturn/VoidReturnPage.java |    6 +-
 .../isis/viewer/wicket/ui/panels/FormAbstract.java |    8 +-
 .../wicket/ui/panels/FormExecutorDefault.java      |   68 +-
 .../viewer/wicket/ui/panels/PanelAbstract.java     |    8 +-
 .../isis/viewer/wicket/ui/panels/PanelUtil.java    |   18 +-
 .../wicket/ui/panels/PromptFormAbstract.java       |   44 +-
 .../wicket/ui/panels/PromptFormPanelAbstract.java  |    3 +-
 .../viewer/wicket/ui/util/CssClassRemover.java     |    4 +-
 .../apache/isis/viewer/wicket/ui/util/Links.java   |   16 +-
 .../org/apache/isis/core/webserver/WebServer.java  |   12 +-
 .../isis/core/webserver/WebServerConstants.java    |    4 +-
 .../webserver/internal/OptionHandlerAddress.java   |    2 +-
 .../core/webserver/internal/OptionHandlerPort.java |    2 +-
 .../isis/core/wrapper/WrapperFactoryDefault.java   |    6 +-
 .../handlers/DomainObjectInvocationHandler.java    |   44 +-
 .../core/wrapper/handlers/ProxyContextHandler.java |    2 +-
 .../isis/core/wrapper/proxy/ProxyCreator.java      |   16 +-
 1411 files changed, 20361 insertions(+), 20035 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/AbstractSubscriber.java b/core/applib/src/main/java/org/apache/isis/applib/AbstractSubscriber.java
index 27ad1f7..f16c3de 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AbstractSubscriber.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AbstractSubscriber.java
@@ -35,7 +35,7 @@ import org.apache.isis.applib.services.xactn.TransactionService;
  */
 @DomainServiceLayout(
         menuOrder = "1"
-)
+        )
 public abstract class AbstractSubscriber {
 
     @PostConstruct
@@ -50,19 +50,19 @@ public abstract class AbstractSubscriber {
 
     @javax.inject.Inject
     protected MessageService messageService;
-    
+
     @javax.inject.Inject
     protected TitleService titleService;
-    
+
     @javax.inject.Inject
     protected RepositoryService repositoryService;
-    
+
     @javax.inject.Inject
     protected FactoryService factoryService;
-    
+
     @javax.inject.Inject
     protected UserService userService;
-    
+
     @javax.inject.Inject
     protected TransactionService transactionService;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java b/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
index 4658b42..6d81128 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
@@ -22,7 +22,7 @@ package org.apache.isis.applib;
 /**
  * Convenience super class for view models that wish to interact with the
  * container.
- * 
+ *
  * <p>
  * Subclassing is NOT mandatory; the methods in this superclass can be pushed
  * down into domain objects and another superclass used if required.
@@ -36,9 +36,9 @@ public abstract class AbstractViewModel implements ViewModel {
 
     @Override
     public abstract String viewModelMemento();
-    
+
     @Override
     public abstract void viewModelInit(final String memento);
-    
+
 }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifest.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifest.java
index 696545c..fdb9b2a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifest.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifest.java
@@ -185,7 +185,7 @@ public interface AppManifest {
         public void setPersistenceCapableTypes(final Set<Class<?>> persistenceCapableTypes) {
             this.persistenceCapableTypes = persistenceCapableTypes;
         }
-        
+
 
         // -- mixinTypes
         private Set<Class<?>> mixinTypes;
@@ -199,7 +199,7 @@ public interface AppManifest {
         public void setMixinTypes(final Set<Class<?>> mixinTypes) {
             this.mixinTypes = mixinTypes;
         }
-        
+
 
         // -- fixtureScriptTypes
         private Set<Class<? extends FixtureScript>> fixtureScriptTypes;
@@ -213,7 +213,7 @@ public interface AppManifest {
         public void setFixtureScriptTypes(final Set<Class<? extends FixtureScript>> fixtureScriptTypes) {
             this.fixtureScriptTypes = fixtureScriptTypes;
         }
-        
+
 
 
         // -- domainServiceTypes
@@ -227,7 +227,7 @@ public interface AppManifest {
         public void setDomainServiceTypes(final Set<Class<?>> domainServiceTypes) {
             this.domainServiceTypes = domainServiceTypes;
         }
-        
+
 
     }
 
@@ -272,7 +272,7 @@ public interface AppManifest {
 
             return map;
         }
-        
+
     }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
index f8e5539..32fb10f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
@@ -54,7 +54,7 @@ public abstract class AppManifestAbstract implements AppManifest {
 
         // note uses this.fixtures, so must come afterwards...
         this.configurationProperties = createConfigurationProperties(
-                builder.getAllPropertyResources(), 
+                builder.getAllPropertyResources(),
                 builder.getAllIndividualConfigProps(),
                 builder.getAllFallbackConfigProps(),
                 this.fixtureClasses);
@@ -104,15 +104,15 @@ public abstract class AppManifestAbstract implements AppManifest {
         for (PropertyResource propertyResource : propertyResources) {
             propertyResource.loadPropsInto(props);
         }
-        
+
         individualConfigProps.forEach(props::put);
-        
+
         if(!fixtures.isEmpty()) {
             props.put("isis.persistor.datanucleus.install-fixtures", "true");
         }
-        
+
         fallbackConfigProps.forEach((k, v)->props.computeIfAbsent(k, __->v));
-        
+
         overrideConfigurationProperties(props);
         return props;
     }
@@ -227,8 +227,8 @@ public abstract class AppManifestAbstract implements AppManifest {
             return self();
         }
 
-		@SuppressWarnings("unchecked") // at least type-safety applies
-		public B withFixtureScripts(final Class<? extends FixtureScript>... fixtures) {
+        @SuppressWarnings("unchecked") // at least type-safety applies
+        public B withFixtureScripts(final Class<? extends FixtureScript>... fixtures) {
             return withFixtureScripts(Arrays.asList(fixtures));
         }
 
@@ -255,7 +255,7 @@ public abstract class AppManifestAbstract implements AppManifest {
         Map<String,String> getAllIndividualConfigProps() {
             return getIndividualConfigProps();
         }
-        
+
         Map<String,String> getAllFallbackConfigProps() {
             return getFallbackConfigProps();
         }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
index 297de2b..23c033a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
@@ -35,11 +35,13 @@ public abstract class AppManifestAbstract2 extends AppManifestAbstract implement
         this.module = builder.getModule();
     }
 
+    @Override
     @Programmatic
     public Module getModule() {
         return module;
     }
 
+    @Override
     @Programmatic
     public FixtureScript getRefDataSetupFixture() {
         return new FixtureScript() {
@@ -56,6 +58,7 @@ public abstract class AppManifestAbstract2 extends AppManifestAbstract implement
         };
     }
 
+    @Override
     @Programmatic
     public FixtureScript getTeardownFixture() {
         return new FixtureScript() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ApplicationException.java b/core/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
index bed6cef..a48f454 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
@@ -23,30 +23,30 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
 
 /**
  * Indicates that an exceptional condition/problem has occurred within the application's domain logic.
- * 
+ *
  * <p>
  * Throwing this exception is equivalent to calling {@link DomainObjectContainer#raiseError(String)}.
  * The framework will trap the error and display the exception message as a warning.
- * 
+ *
  * <p>
  * This exception should only be thrown for &quot;recoverable&quot; exceptions, that is, those which
  * could be anticipated by the application.  It should not be thrown for fatal, unanticipated exceptions.
- * 
+ *
  * <p>
  * The framework attempts to apply some heuristics; if the underlying Isis transaction has been aborted
  * (for example as the result of a problem persisting some data) but then the application attempts to
  * throw this exception, the exception will be promoted to a fatal exception.
- * 
+ *
  * <p>
  * Note that this exception has identical semantics to {@link RecoverableException}, and can be considered a
  * synonym.
- * 
+ *
  * @see RecoverableException
  * @see NonRecoverableException
  * @see FatalException
  */
 public class ApplicationException extends RecoverableException {
-    
+
     private static final long serialVersionUID = 1L;
 
     public ApplicationException(final String msg) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/FatalException.java b/core/applib/src/main/java/org/apache/isis/applib/FatalException.java
index 7284609..60191a9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/FatalException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/FatalException.java
@@ -22,20 +22,20 @@ package org.apache.isis.applib;
 /**
  * Indicates that an unexpected, non-recoverable (fatal) exception has occurred within
  * the application logic.
- * 
+ *
  * <p>
  * Throwing this exception will (dependent on the viewer) result in some sort of an error page being displayed to the user.
  *
  * <p>
  * Note that this exception has identical semantics to {@link NonRecoverableException}, and can be considered a
  * synonym.
- * 
+ *
  * @see RecoverableException
  * @see ApplicationException
  * @see NonRecoverableException
  */
 public class FatalException extends NonRecoverableException {
-    
+
     private static final long serialVersionUID = 1L;
 
     public FatalException(final String msg) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/Identifier.java b/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
index 65c1a6b..5f58126 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
@@ -183,7 +183,7 @@ public class Identifier implements Comparable<Identifier> {
 
     /**
      * Convenience method.
-     * 
+     *
      * @return
      */
     public boolean isPropertyOrCollection() {
@@ -240,8 +240,8 @@ public class Identifier implements Comparable<Identifier> {
     private void appendParameterNamesTo(final StringBuilder buf) {
         buf.append('(');
         buf.append(
-        		_NullSafe.stream(parameterNames)
-        		.collect(Collectors.joining(","))	);
+                _NullSafe.stream(parameterNames)
+                .collect(Collectors.joining(","))	);
         buf.append(')');
     }
 
@@ -346,7 +346,7 @@ public class Identifier implements Comparable<Identifier> {
 
     /**
      * Factory method.
-     * 
+     *
      * @see #toIdentityString(int)
      */
     public static Identifier fromIdentityString(final String asString) {
@@ -406,8 +406,8 @@ class NameUtils {
 
         char previousCharacter;
         char character = Character.toUpperCase(name.charAt(0));// ensure first
-                                                               // character is
-                                                               // upper case
+        // character is
+        // upper case
         naturalName.append(character);
         char nextCharacter = name.charAt(1);
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java b/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
index 28c6c3d..dbf3918 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
@@ -23,39 +23,39 @@ import javax.xml.bind.annotation.XmlRootElement;
 @XmlRootElement(name = "module")
 public class IsisApplibModule extends ModuleAbstract {
 
-	// -- UI EVENT CLASSES
-
-	public abstract static class TitleUiEvent<S>
-	extends org.apache.isis.applib.events.ui.TitleUiEvent<S> { 
-		private static final long serialVersionUID = 1L;
-	}
-
-	public abstract static class IconUiEvent<S>
-	extends org.apache.isis.applib.events.ui.IconUiEvent<S> { 
-		private static final long serialVersionUID = 1L;
-	}
-
-	public abstract static class CssClassUiEvent<S>
-	extends org.apache.isis.applib.events.ui.CssClassUiEvent<S> { 
-		private static final long serialVersionUID = 1L;
-	}
-
-	// -- DOMAIN EVENT CLASSES
-
-	public abstract static class ActionDomainEvent<S>
-	extends org.apache.isis.applib.events.domain.ActionDomainEvent<S> {
-		private static final long serialVersionUID = 1L;
-	}
-
-	public abstract static class CollectionDomainEvent<S,T> 
-	extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {
-		private static final long serialVersionUID = 1L;
-	}
-
-	public abstract static class PropertyDomainEvent<S,T>
-	extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {
-		private static final long serialVersionUID = 1L;
-	}
+    // -- UI EVENT CLASSES
+
+    public abstract static class TitleUiEvent<S>
+    extends org.apache.isis.applib.events.ui.TitleUiEvent<S> {
+        private static final long serialVersionUID = 1L;
+    }
+
+    public abstract static class IconUiEvent<S>
+    extends org.apache.isis.applib.events.ui.IconUiEvent<S> {
+        private static final long serialVersionUID = 1L;
+    }
+
+    public abstract static class CssClassUiEvent<S>
+    extends org.apache.isis.applib.events.ui.CssClassUiEvent<S> {
+        private static final long serialVersionUID = 1L;
+    }
+
+    // -- DOMAIN EVENT CLASSES
+
+    public abstract static class ActionDomainEvent<S>
+    extends org.apache.isis.applib.events.domain.ActionDomainEvent<S> {
+        private static final long serialVersionUID = 1L;
+    }
+
+    public abstract static class CollectionDomainEvent<S,T>
+    extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {
+        private static final long serialVersionUID = 1L;
+    }
+
+    public abstract static class PropertyDomainEvent<S,T>
+    extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {
+        private static final long serialVersionUID = 1L;
+    }
 
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/Module.java b/core/applib/src/main/java/org/apache/isis/applib/Module.java
index 928100c..d004bb2 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/Module.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/Module.java
@@ -107,9 +107,9 @@ public interface Module {
      * Optionally each module can define additional configuration properties.
      */
     Map<String,String> getIndividualConfigProps();
-    
+
     /**
-     * Optionally each module can define fallback configuration properties, 
+     * Optionally each module can define fallback configuration properties,
      * such that if not configured elsewhere provides values to fallback to.
      */
     Map<String, String> getFallbackConfigProps();
@@ -210,30 +210,30 @@ public interface Module {
         }
 
         static Map<String, String> transitiveIndividualConfigPropsOf(final Module module) {
-        	final Map<String, String> props = newLinkedHashMap();
-        			
-    		transitiveDependenciesOf(module).stream()
-        	.map(Module::getIndividualConfigProps)
-        	.forEach(props::putAll);
-        	
-        	return props;
+            final Map<String, String> props = newLinkedHashMap();
+
+            transitiveDependenciesOf(module).stream()
+            .map(Module::getIndividualConfigProps)
+            .forEach(props::putAll);
+
+            return props;
         }
-        
+
         static Map<String, String> transitiveFallbackConfigPropsOf(final Module module) {
-        	final Map<String, String> props = newLinkedHashMap();
-			
-    		transitiveDependenciesOf(module).stream()
-        	.map(Module::getFallbackConfigProps)
-        	.forEach(props::putAll);
-        	
-        	return props;
+            final Map<String, String> props = newLinkedHashMap();
+
+            transitiveDependenciesOf(module).stream()
+            .map(Module::getFallbackConfigProps)
+            .forEach(props::putAll);
+
+            return props;
         }
 
         static List<PropertyResource> transitivePropertyResourcesOf(final Module module) {
-        	return transitiveDependenciesOf(module).stream()
-        		.map(Module::getPropertyResources)
-            	.flatMap(List::stream)
-            	.collect(Collectors.toList());
+            return transitiveDependenciesOf(module).stream()
+                    .map(Module::getPropertyResources)
+                    .flatMap(List::stream)
+                    .collect(Collectors.toList());
         }
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
index b9b7fe0..3b0e9d8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
@@ -38,8 +38,8 @@ import org.apache.isis.commons.internal.collections._Sets;
  * </p>
  */
 public abstract class ModuleAbstract
-        extends ModuleOrBuilderAbstract<ModuleAbstract>
-        implements Module {
+extends ModuleOrBuilderAbstract<ModuleAbstract>
+implements Module {
 
 
     @Override
@@ -51,10 +51,10 @@ public abstract class ModuleAbstract
     @XmlElement(name = "module", required = true)
     private Set<ModuleAbstract> getModuleDependencies() {
 
-    	return _NullSafe.stream(getDependencies())
-    	.filter(module->module instanceof ModuleAbstract)
-    	.map(module->(ModuleAbstract) module)
-    	.collect(Collectors.toSet());
+        return _NullSafe.stream(getDependencies())
+                .filter(module->module instanceof ModuleAbstract)
+                .map(module->(ModuleAbstract) module)
+                .collect(Collectors.toSet());
     }
 
     /**
@@ -101,6 +101,7 @@ public abstract class ModuleAbstract
         return getFullName();
     }
 
+    @Override
     public boolean equals(final Object o) {
         if (o == this) {
             return true;
@@ -112,6 +113,7 @@ public abstract class ModuleAbstract
         return Objects.equals(getFullName(), other.getFullName());
     }
 
+    @Override
     public int hashCode() {
         return getFullName().hashCode();
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
index 9003f56..6aff7cc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
@@ -107,12 +107,12 @@ abstract class ModuleOrBuilderAbstract<B extends ModuleOrBuilderAbstract<B>> {
     }
 
     public B withConfigurationProperties(final Map<String,String> configurationProperties) {
-    	configurationProperties.forEach(this::withConfigurationProperty);
+        configurationProperties.forEach(this::withConfigurationProperty);
         return self();
     }
-    
+
     public B withFallbackConfigurationProperties(final Map<String,String> fallbackConfigurationProperties) {
-    	fallbackConfigurationProperties.forEach(this::withFallbackConfigurationProperty);
+        fallbackConfigurationProperties.forEach(this::withFallbackConfigurationProperty);
         return self();
     }
 
@@ -156,16 +156,16 @@ abstract class ModuleOrBuilderAbstract<B extends ModuleOrBuilderAbstract<B>> {
         return self();
     }
 
-    @XmlTransient 
+    @XmlTransient
     public Map<String,String> getIndividualConfigProps() {
         return individualConfigProps;
     }
-    
+
     public B withFallbackConfigurationProperty(final String key, final String value) {
-    	fallbackConfigProps.put(key, value);
+        fallbackConfigProps.put(key, value);
         return self();
     }
-    
+
     @XmlTransient
     public Map<String,String> getFallbackConfigProps() {
         return fallbackConfigProps;
@@ -175,11 +175,11 @@ abstract class ModuleOrBuilderAbstract<B extends ModuleOrBuilderAbstract<B>> {
     public List<PropertyResource> getPropertyResources() {
         return propertyResources;
     }
-    
+
     // -- HELPER
-    
-	protected B self() {
-    	return _Casts.uncheckedCast(this);
+
+    protected B self() {
+        return _Casts.uncheckedCast(this);
     }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java b/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
index ee8af1f..2db604b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
@@ -27,20 +27,20 @@ import org.apache.isis.commons.internal.functions._Functions;
 /**
  * Indicates that an unexpected, non-recoverable (fatal) exception has occurred within
  * the application logic.
- * 
+ *
  * <p>
  * Throwing this exception will (dependent on the viewer) result in some sort of an error page being displayed to the user.
- * 
+ *
  * <p>
  * Note that this exception has identical semantics to {@link FatalException} (of which it is the immediate
  * superclass) and can be considered a synonym.
- * 
+ *
  * @see RecoverableException
  * @see ApplicationException
  * @see FatalException
  */
 public class NonRecoverableException extends RuntimeException implements TranslatableException {
-    
+
     private static final long serialVersionUID = 1L;
 
     private final TranslatableString translatableMessage;
@@ -83,10 +83,10 @@ public class NonRecoverableException extends RuntimeException implements Transla
         this.translatableMessage = translatableMessage;
         this.translationContext =
                 translationContextClass != null
-                        ? (translationContextClass.getName() +
-                            (!_Strings.isNullOrEmpty(translationContextMethod)
+                ? (translationContextClass.getName() +
+                        (!_Strings.isNullOrEmpty(translationContextMethod)
                                 ? "#" + translationContextMethod
-                                : "")
+                                        : "")
                         )
                         : null;
     }
@@ -95,7 +95,7 @@ public class NonRecoverableException extends RuntimeException implements Transla
     public String getMessage() {
         return getTranslatableMessage() != null
                 ? getTranslatableMessage().getPattern()
-                : super.getMessage();
+                        : super.getMessage();
     }
 
     @Override
@@ -109,34 +109,34 @@ public class NonRecoverableException extends RuntimeException implements Transla
     }
 
     // -- SHORTCUTS
-    
-	/**
-	 * <p><pre>
-	 * Path path = ...
-	 *
-	 * ## OLD
-	 *
-	 * try {
-	 *     Files.createDirectories(path);
-	 * } catch (IOException e) {
-	 *     throw new NonRecoverableException(e);
-	 * }
-	 * 
-	 * ## NEW
-	 *  
-	 * NonRecoverableException.tryRun(()->Files.createDirectories(path));
-	 * 
-	 * </pre></p>
-	 *  
-	 * @param checkedRunnable
-	 */
-	public static void tryRun(_Functions.CheckedRunnable checkedRunnable) {
-		try {
-			checkedRunnable.run();
-		} catch (Exception cause) {
-			throw new NonRecoverableException(cause);
-		}
-	}
-    
-    
+
+    /**
+     * <p><pre>
+     * Path path = ...
+     *
+     * ## OLD
+     *
+     * try {
+     *     Files.createDirectories(path);
+     * } catch (IOException e) {
+     *     throw new NonRecoverableException(e);
+     * }
+     *
+     * ## NEW
+     *
+     * NonRecoverableException.tryRun(()->Files.createDirectories(path));
+     *
+     * </pre></p>
+     *
+     * @param checkedRunnable
+     */
+    public static void tryRun(_Functions.CheckedRunnable checkedRunnable) {
+        try {
+            checkedRunnable.run();
+        } catch (Exception cause) {
+            throw new NonRecoverableException(cause);
+        }
+    }
+
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java b/core/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
index 5506564..615f0a9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
@@ -21,20 +21,20 @@ package org.apache.isis.applib;
 
 /**
  * Indicates that the persistence of an object failed.
- * 
+ *
  * <p>
  * This exception is intended to represent an unexpected and non-recoverable condition (eg a unique/primary key/
  * foreign key constaint has been violated), and so is a subclass of {@link NonRecoverableException}.
  * Throwing this exception will therefore result in (some sort of) error page being displayed
  * to the user.
- * 
+ *
  * @see NonRecoverableException
  * @see RecoverableException
  */
 public class PersistFailedException extends NonRecoverableException {
-    
+
     private static final long serialVersionUID = 1L;
-    
+
     public PersistFailedException(final String msg) {
         super(msg);
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java b/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
index 274266a..95df889 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
@@ -26,30 +26,30 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
 
 /**
  * Indicates that an exceptional condition/problem has occurred within the application's domain logic.
- * 
+ *
  * <p>
  * Throwing this exception is equivalent to calling {@link DomainObjectContainer#raiseError(String)}.
  * The framework will trap the error and display the exception message as a warning.
- * 
+ *
  * <p>
  * This exception should only be thrown for &quot;recoverable&quot; exceptions, that is, those which
  * could be anticipated by the application.  It should not be thrown for fatal, unanticipated exceptions.
- * 
+ *
  * <p>
  * The framework attempts to apply some heuristics; if the underlying Isis transaction has been aborted
  * (for example as the result of a problem persisting some data) but then the application attempts to
  * throw this exception, the exception will be promoted to a fatal exception.
- * 
+ *
  * <p>
  * Note that this exception has identical semantics to {@link ApplicationException} (of which it is the immediate
  * superclass), and can be considered a synonym.
- * 
+ *
  * @see ApplicationException
  * @see NonRecoverableException
  * @see FatalException
  */
 public class RecoverableException extends RuntimeException implements TranslatableException {
-    
+
     private static final long serialVersionUID = 1L;
 
     private final TranslatableString translatableMessage;
@@ -92,11 +92,11 @@ public class RecoverableException extends RuntimeException implements Translatab
         this.translatableMessage = translatableMessage;
         this.translationContext =
                 translationContextClass != null
-                        ? (translationContextClass.getName() +
-                          (!_Strings.isNullOrEmpty(translationContextMethod)
+                ? (translationContextClass.getName() +
+                        (!_Strings.isNullOrEmpty(translationContextMethod)
                                 ? "#" + translationContextMethod
-                                : "")
-                )
+                                        : "")
+                        )
                         : null;
     }
 
@@ -104,7 +104,7 @@ public class RecoverableException extends RuntimeException implements Translatab
     public String getMessage() {
         return getTranslatableMessage() != null
                 ? getTranslatableMessage().getPattern()
-                : super.getMessage();
+                        : super.getMessage();
     }
 
     @Override
@@ -122,13 +122,13 @@ public class RecoverableException extends RuntimeException implements Translatab
         private Util() {}
 
         public static RecoverableException getRecoverableExceptionIfAny(final Exception ex) {
-        	
-        	return _Exceptions.streamCausalChain(ex)
-        			.filter(t->t instanceof RecoverableException)
-        			.map(t->(RecoverableException)t)
-		        	.findFirst()
-		        	.orElse(null)
-		        	;
+
+            return _Exceptions.streamCausalChain(ex)
+                    .filter(t->t instanceof RecoverableException)
+                    .map(t->(RecoverableException)t)
+                    .findFirst()
+                    .orElse(null)
+                    ;
 
         }
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java b/core/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
index b10e7a4..37e6c12 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
@@ -37,13 +37,13 @@ public interface RecreatableDomainObject {
      * <p>
      * Typically this will be the identifier of a backing domain entity, but it could also be an arbitrary string,
      * for example a bunch of JSON.
-     * 
+     *
      * <p>
      * This method is called by the framework in order that the view model may be recreated subsequently
      * through {@link #__isis_recreate(String)}.
      */
     public String __isis_memento();
-    
+
     /**
      * Used to recreate a recreatable object with a memento obtained from {@link #__isis_recreate(String)}.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/RepositoryException.java b/core/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
index d0839aa..af66af9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
@@ -21,18 +21,18 @@ package org.apache.isis.applib;
 
 /**
  * Indicates that a repository method has failed.
- * 
+ *
  * <p>
  * This exception is intended to represent an unexpected and non-recoverable condition (eg a syntax error in some
  * JDOQL query syntax or similar), and so is a subclass of {@link NonRecoverableException}.
  * Throwing this exception will therefore result in (some sort of) error page being displayed
  * to the user.
- * 
+ *
  * @see NonRecoverableException
  * @see RecoverableException
  */
 public class RepositoryException extends NonRecoverableException {
-    
+
     private static final long serialVersionUID = 1L;
 
     public RepositoryException(final String msg) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java b/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
index a61ff1e..9fb7857 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ViewModel.java
@@ -36,14 +36,14 @@ public interface ViewModel {
      * <p>
      * Typically this will be the identifier of a backing domain entity, but it could also be an arbitrary string,
      * for example a bunch of JSON.
-     * 
+     *
      * <p>
      * This method is called by the framework in order that the view model may be recreated subsequently
      * through {@link #viewModelInit(String)}.
      */
     @Programmatic
     public String viewModelMemento();
-    
+
     /**
      * Used to re-initialize a view model with a memento obtained from {@link #viewModelMemento()}.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
index d73ab08..69a5fa5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
@@ -21,7 +21,7 @@ package org.apache.isis.applib.adapters;
 
 /**
  * Provides a mechanism for providing a default value for an object.
- * 
+ *
  * <p>
  * This interface is used in two complementary ways:
  * <ul>
@@ -33,14 +33,14 @@ package org.apache.isis.applib.adapters;
  * <li>Alternatively, an implementor of this interface can be nominated in the
  * {@link org.apache.isis.applib.annotations.Defaulted} annotation, allowing a
  * class that needs to have a default to indicate where its default comes from.</li>
- * 
+ *
  * <p>
  * Whatever the class that implements this interface, it must also expose either
  * a <tt>public</tt> no-arg constructor, or (for implementations that also are
  * <tt>Facet</tt>s) a <tt>public</tt> constructor that accepts a single
  * <tt>FacetHolder</tt>. This constructor allows the framework to instantiate
  * the object reflectively.
- * 
+ *
  * @see Parser
  * @see EncoderDecoder
  * @see ValueSemanticsProvider
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
index 2c70d24..f15f195 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
@@ -21,7 +21,7 @@ package org.apache.isis.applib.adapters;
 
 /**
  * Provides a mechanism for encoding/decoding objects.
- * 
+ *
  * <p>
  * This interface is used in two complementary ways:
  * <ul>
@@ -33,14 +33,14 @@ package org.apache.isis.applib.adapters;
  * <li>Alternatively, an implementor of this interface can be nominated in the
  * {@link org.apache.isis.applib.annotation.Encodable} annotation, allowing a
  * class that needs to be encodeable to indicate how it can be encoded/decoded.</li>
- * 
+ *
  * <p>
  * Whatever the class that implements this interface, it must also expose either
  * a <tt>public</tt> no-arg constructor, or (for implementations that also are
  * <tt>Facet</tt>s) a <tt>public</tt> constructor that accepts a single
  * <tt>FacetHolder</tt>. This constructor allows the framework to instantiate
  * the object reflectively.
- * 
+ *
  * @see Parser
  * @see DefaultsProvider
  * @see ValueSemanticsProvider
@@ -49,7 +49,7 @@ public interface EncoderDecoder<T> {
 
     /**
      * Returns the provided object as an encoded string.
-     * 
+     *
      * <p>
      * Even if the class is self-encodeable, note that this method is always
      * called on a new instance of the object created via the no-arg
@@ -60,10 +60,10 @@ public interface EncoderDecoder<T> {
 
     /**
      * Converts an encoded string to an instance of the object.
-     * 
+     *
      * <p>
      * Note that here the implementing class is acting as a factory for itself.
-     * 
+     *
      * @see #toEncodedString(% toEncode)
      */
     T fromEncodedString(String encodedString);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
index e4bfdce..474b0e5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
@@ -22,7 +22,7 @@ package org.apache.isis.applib.adapters;
 /**
  * Provides a mechanism for parsing and rendering string representations of
  * objects.
- * 
+ *
  * <p>
  * Specifically, this interface embodies three related capabilties:
  * <ul>
@@ -30,7 +30,7 @@ package org.apache.isis.applib.adapters;
  * <li>to provide a string representation of the object, for use as its title.
  * <li>to indicate the typical length of such a string representation.
  * </ul>
- * 
+ *
  * <p>
  * For custom-written (as opposed to third-party) value types, the ability for
  * the {@link Parser} to provide a title responsibilities overlap with other
@@ -39,18 +39,18 @@ package org.apache.isis.applib.adapters;
  * implementation of {@link Parser} would just delegate to the value type itself
  * to obtain the title (ie invoking the <tt>title()</tt> method directly rather
  * than having the framework do this).
- * 
+ *
  * <p>
  * Similarly, the ability to return a typical length also overlaps with the
  * {@link TypicalLength} annotation; which is why {@link TypicalLength} cannot
  * be applied to types, only to properties and parameters.
- * 
+ *
  * <p>
  * For third-party value types, eg {@see http://timeandmoney.sourceforge.net/
  * Time-and-Money} there is no ability to write <tt>title()</tt> methods or
  * annotated with {@link TypicalLength}; so this is the main reason that this
  * interface has to deal with titles and lengths.
- * 
+ *
  * <p>
  * This interface is used in two complementary ways:
  * <ul>
@@ -62,14 +62,14 @@ package org.apache.isis.applib.adapters;
  * <li>Alternatively, an implementor of this interface can be nominated in the
  * {@link org.apache.isis.applib.annotation.Parseable} annotation, allowing a
  * class that needs to be parseable to indicate how it can be parsed.</li>
- * 
+ *
  * <p>
  * Whatever the class that implements this interface, it must also expose either
  * a <tt>public</tt> no-arg constructor, or (for implementations that also are
  * <tt>Facet</tt>s) a <tt>public</tt> constructor that accepts a single
  * <tt>FacetHolder</tt>. This constructor allows the framework to instantiate
  * the object reflectively.
- * 
+ *
  * @see DefaultsProvider
  * @see EncoderDecoder
  * @see ValueSemanticsProvider
@@ -78,7 +78,7 @@ public interface Parser<T> {
 
     /**
      * Parses a string to an instance of the object.
-     * 
+     *
      * <p>
      * Note that here the implementing class is acting as a factory for itself.
      * @param contextPojo
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
index eaa383c..42621d4 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
@@ -27,19 +27,19 @@ import org.apache.isis.applib.annotation.Value;
 
 /**
  * Provides a mechanism for providing a set of value semantics.
- * 
+ *
  * <p>
  * As explained in the Javadoc of the {@link Value} annotation, value semantics
  * only actually implies that the type is {@link Aggregated aggregated}.
  * However, values are very often
  * {@link Immutable} and implement {@link EqualByContent} semantics. In
  * addition, there may be a {@link Defaulted default value}.
- * 
+ *
  * <p>
  * This interface is used by {@link Value} to allow these semantics to be
  * provided through a single point. Alternatively, {@link Value} supports this
  * information being provided via the configuration files.
- * 
+ *
  * <p>
  * Whatever the class that implements this interface, it must also expose either
  * a <tt>public</tt> no-arg constructor, or (for implementations that also are
@@ -47,7 +47,7 @@ import org.apache.isis.applib.annotation.Value;
  * <tt>FacetHolder</tt>, and <tt>IsisConfiguration</tt> and a
  * <tt>ValueSemanticsProviderContext</tt>. This constructor is then used by the
  * framework to instantiate the object reflectively.
- * 
+ *
  * @see Parser
  * @see EncoderDecoder
  * @see DefaultsProvider
@@ -66,7 +66,7 @@ public interface ValueSemanticsProvider<T> {
 
     /**
      * The {@link DefaultsProvider}, if any.
-     * 
+     *
      * <p>
      * If not <tt>null</tt>, implies that the value has (or may have) a default.
      */
@@ -79,7 +79,7 @@ public interface ValueSemanticsProvider<T> {
 
     /**
      * Whether the value has {@link EqualByContent equal by content} semantics.
-     * 
+     *
      * <p>
      * If so, then it must implement <tt>equals(Object)</tt> and
      * <tt>hashCode()</tt> consistently. Examples in the Java language that do
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
index 3c93406..28c24bd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/package-info.java
@@ -19,7 +19,7 @@
 
 /**
  * The classes in this package are used for implementing custom value types.
- * 
+ *
  * <p>
  *     <b>NOTE THAT</b> in addition to implementing the interfaces here, it is also necessary to provide appropriate
  *   components for Wicket viewer to edit the values and to implement the appropriate SPI/extension points so that
@@ -31,8 +31,8 @@
  * The {@link org.apache.isis.applib.adapters.ValueSemanticsProvider} interface
  * allows the framework to recognize its corresponding type as being a value
  * type (that is, having value semantics).  The {@link org.apache.isis.applib.adapters.AbstractValueSemanticsProvider}
- * class is an base adapter for this interface. 
- * 
+ * class is an base adapter for this interface.
+ *
  * <p>
  * The association between {@link org.apache.isis.applib.adapters.ValueSemanticsProvider}
  * and its corresponding type can be done in several ways.  Most straightforward
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
index d55fb33..82ddfe7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
@@ -76,7 +76,7 @@ public @interface ActionLayout {
 
     @XmlType(
             namespace = "http://isis.apache.org/applib/layout/component"
-    )
+            )
     enum CssClassFaPosition {
         LEFT, RIGHT
     }
@@ -116,7 +116,7 @@ public @interface ActionLayout {
 
     @XmlType(
             namespace = "http://isis.apache.org/applib/layout/component"
-    )
+            )
     enum Position {
         BELOW,
         RIGHT,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
index 143e41c..a310d85 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
@@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType;
 
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum BookmarkPolicy {
     /**
      * Can be bookmarked, and is a top-level 'root' (or parent) bookmark.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
index 476bfd3..64cb43c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum Contributed {
     /**
      * Default: contributed as both an action and also (if takes a single argument and has safe semantics) as an association
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
index 92acc9a..12e7d23 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.adapters.DefaultsProvider;
 /**
  * Indicates that the class should have a default, by providing a link to a
  * {@link DefaultsProvider}, or some externally-configured mechanism.
- * 
+ *
  * <p>
  * This possibly seems a little tortuous. The more obvious means to provide a
  * default would seem to be a simple <tt>@DefaultsTo(new SomeObject())</tt>.
@@ -39,7 +39,7 @@ import org.apache.isis.applib.adapters.DefaultsProvider;
  * (This more complex design is also more flexible of course; the implementation
  * of {@link DefaultsProvider} could adjust the default it provides according to
  * circumstance, for example).
- * 
+ *
  * @see Encodable
  * @see Parseable
  * @see Value
@@ -56,12 +56,12 @@ public @interface Defaulted {
     /**
      * The fully qualified name of a class that implements the
      * {@link DefaultsProvider} interface.
-     * 
+     *
      * <p>
      * This is optional because some implementations may pick up the defaults
      * provider via a configuration file, or via the equivalent
      * {@link #defaultsProviderClass()}.
-     * 
+     *
      * <p>
      * Implementation note: the default value provided here is simply an empty
      * string because <tt>null</tt> is not a valid default.
@@ -71,7 +71,7 @@ public @interface Defaulted {
     /**
      * As per {@link #defaultsProviderName()}, but specifying a class literal
      * rather than a fully qualified class name.
-     * 
+     *
      * <p>
      * Implementation note: the default value provided here is simply the
      * {@link Defaulted}'s own class, because <tt>null</tt> is not a valid
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
index e56af53..b3d3ff8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
@@ -92,7 +92,7 @@ public @interface DomainObject {
 
     /**
      * Indicates that the class has a bounded, or finite, set of instances.
-     * 
+     *
      * <p>
      *     Takes precedence over auto-complete.
      * </p>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
index e4a467f..a5e72f0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
@@ -95,7 +95,7 @@ s     */
     enum CssClassFaPosition {
         LEFT, RIGHT
     }
-    
+
     // //////////////////////////////////////
 
     /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
index af51819..afaf0ad 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
@@ -31,26 +31,26 @@ import java.util.HashMap;
 /**
  * Indicates that the class follows the equal-by-content contract, usually
  * associated with {@link Value value} types.
- * 
+ *
  * <p>
  * If a class claims to be equal-by-content then its {@link #equals(Object)}
  * should return <tt>true</tt> if its content (as opposed to identity) is the
  * same. For example, {@link String}, {@link BigDecimal} and {@link Date} follow
  * this contract.
- * 
+ *
  * <p>
  * Note also that the Java Language Specification requires that two objects that
  * are {@link #equals(Object) equal} must return the same value from
  * {@link #hashCode()}. Failure to do this means that that the object will not
  * behave correctly when used as a key into a hashing structure (eg a
  * {@link HashMap}).
- * 
+ *
  * <p>
  * By default any {@link Value value} types are assumed to follow the
  * equal-by-content rule, though this can be overridden if required.
  * Value types are usually also immutable (though there are some classic
  * exceptions to this, such as {@link Date}).
- * 
+ *
  * @see Value
  *
  * <p>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
index 4d88389..804ca3f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
@@ -28,7 +28,7 @@ import java.lang.annotation.Target;
 /**
  * Indicates that the class has additional facets, and specifies the how to
  * obtain the <tt>FacetFactory</tt> to manufacture them.
- * 
+ *
  * <p>
  * At least one named factory (as per {@link #facetFactoryNames()}) or one class
  * factory (as per {@link #facetFactoryClasses()}) should be specified.
@@ -40,7 +40,7 @@ public @interface Facets {
     /**
      * Array of fully qualified names of classes each implementing
      * <tt>org.apache.isis.metamodel.facets.FacetFactory</tt>.
-     * 
+     *
      * <p>
      * Either the array provided by this method or by
      * {@link #facetFactoryClasses()} should be non-empty.
@@ -50,7 +50,7 @@ public @interface Facets {
     /**
      * Array of {@link Class}s, each indicating a class implementing
      * <tt>org.apache.isis.metamodel.facets.FacetFactory</tt>.
-     * 
+     *
      * <p>
      * Either the array provided by this method or by
      * {@link #facetFactoryNames()} should be non-empty.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
index 2cf3969..cddcc75 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.ViewModel;
 /**
  * Indicates that the (no-arg) action (on a domain service) to be invoked automatically
  * and the contents used for the home page.
- * 
+ *
  * <p>
  * Typically this action would return a {@link ViewModel} representing a dashboard
  * (from which the user can navigate to commonly used objects and invoked actions);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
index e443c4a..99abea8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum LabelPosition {
     DEFAULT,
     LEFT,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
index c31ccae..1df58e9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
@@ -32,16 +32,16 @@ import org.apache.isis.commons.internal.base._Strings;
 
 /**
  * Specifies the positioning of an entity's (groups of) properties and of its collections, on a page, column by column.
- * 
+ *
  * <p>
  * The left column and middle column determine the ordering of the entity's (groups of) properties.  The
  * value of the {@link #left() left} list and {@link #middle() middle} list specify the order
  * of the property groups (inferred from each property's {@link MemberOrder#name() MemberOrder.name} attribute.
- * 
+ *
  * <p>
  * The right column is for the entity's collections.  The order of this collections is simply as
  * determined by the collection's {@link MemberOrder#sequence() MemberOrder.sequence} attribute
- * 
+ *
  * <p>
  *     The recommended alternative is to use the <code>Xxx.layout.xml</code> file, where <code>Xxx</code> is the domain object name.
  * </p>
@@ -55,17 +55,17 @@ public @interface MemberGroupLayout {
      * The relative widths of the columns of members.
      */
     public static class ColumnSpans {
-        
+
         private final int left;
         private final int middle;
         private final int right;
         private final int collections;
-        
+
         public static ColumnSpans valueOf(String str) {
             try {
                 final List<Integer> list = _Strings.splitThenStream(str, ",")
-                    	.map(Integer::parseInt)
-                    	.collect(Collectors.toList());
+                        .map(Integer::parseInt)
+                        .collect(Collectors.toList());
                 return asSpans(list);
             } catch(RuntimeException ex) {
                 return null;
@@ -142,7 +142,7 @@ public @interface MemberGroupLayout {
 
     /**
      * Specify the spans of each of the columns.
-     * 
+     *
      * <p>
      * The sum of the spans is always 12.
      */
@@ -150,14 +150,14 @@ public @interface MemberGroupLayout {
 
     /**
      * Order of groups of properties as they appear in the left-most column of a webpage,
-     * grouped as they appear as the <tt>name</tt> attribute of the {@link MemberOrder} 
+     * grouped as they appear as the <tt>name</tt> attribute of the {@link MemberOrder}
      * annotation.
-     * 
+     *
      * <p>
-     * The order in this list determines the order that the property groups will be rendered.  
+     * The order in this list determines the order that the property groups will be rendered.
      * By convention any {@link MemberOrder} that does not have a {@link MemberOrder#name() name} is considered
      * to be in the default group, whose name is hard-coded as <i>General</i>.
-     * 
+     *
      * <p>
      * Equivalent to {@link MemberGroups#value()} annotation.
      */
@@ -165,7 +165,7 @@ public @interface MemberGroupLayout {
 
     /**
      * As {@link #left()}, but for the middle column in a page.
-     * 
+     *
      * <p>
      * If the value of this attribute is non-empty but the {@link #columnSpans()} specifies a zero size, then the
      * framework will not boot and will instead indicate a meta-model validation exception.
@@ -174,7 +174,7 @@ public @interface MemberGroupLayout {
 
     /**
      * As {@link #right()}, but for the right column in a page.
-     * 
+     *
      * <p>
      * If the value of this attribute is non-empty but the {@link #columnSpans()} specifies a zero size, then the
      * framework will not boot and will instead indicate a meta-model validation exception.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
index 7392063..6ea021d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
@@ -46,7 +46,7 @@ public @interface Mixin {
      *     This makes it easier to avoid silly spelling mistakes in supporting methods, with the name of the member
      *     in essence specified in only just one place, namely the mixin class' name.
      * </p>
-     * 
+     *
      * <p>
      *     If not specified, then the default value {@link #DEFAULT_METHOD_NAME} is used instead.
      * </p>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
index 76d599b..617d3bf 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
@@ -19,24 +19,24 @@
 package org.apache.isis.applib.annotation;
 
 /**
- * 
+ *
  * Tells the framework which method or field to use in order to construct a navigable chain of
- * parent domain object instances. The Navigable.PARENT 'flag' can only be used once per class declaration. 
- * 
+ * parent domain object instances. The Navigable.PARENT 'flag' can only be used once per class declaration.
+ *
  * @since 2.0.0
  *
  */
 public enum Navigable {
 
-    
-	NOT_SPECIFIED,
-	
-	IGNORE,
-	
-	PARENT,
-	
-	;
-	
+
+    NOT_SPECIFIED,
+
+    IGNORE,
+
+    PARENT,
+
+    ;
+
     public boolean isParent() {
         return this == PARENT;
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
index 19a0e21..476198e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
@@ -28,12 +28,12 @@ import java.lang.annotation.Target;
 /**
  * Indicates that an property, collection or action is to be called
  * programmatically and should be ignored from the metamodel.
- * 
+ *
  * <p>
  * For example, it may be a helper method that needs to be <tt>public</tt> but
  * that doesn't conform to the requirements of an action (for example, invalid
  * parameter types).
- * 
+ *
  * <p>
  * It can also be added to a type, meaning that the type is ignored from the metamodel.
  * This is intended as a &quot;get out of jail&quot; for any classes from unit tests, say,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
index 57cf057..b864411 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum PromptStyle {
     /**
      * Prompt using the style configured by <tt>isis.viewer.wicket.promptStyle</tt>.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
index a4939c3..0e6554d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
@@ -70,7 +70,7 @@ public @interface PropertyLayout {
      * A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
      */
     boolean namedEscaped() default true;
-    
+
     Navigable navigable() default Navigable.NOT_SPECIFIED;
 
     /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
index 37cfb21..b5b60cd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum RenderDay {
     AS_DAY,
     /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
index ea05fec..ffc0052 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum Repainting {
     REPAINT,
     /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Value.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
index 4e46c5b..5acac64 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.adapters.ValueSemanticsProvider;
 
 /**
  * Indicates that the class has value semantics.
- * 
+ *
  * <p>
  * By &quot;value semantics&quot; all we actually mean that the class is
  * {@link Aggregated} and so therefore (conceptually) is not shared between
@@ -42,13 +42,13 @@ import org.apache.isis.applib.adapters.ValueSemanticsProvider;
  * presumed that it is</li>
  * <li>it may follow the equal-by-content contract (as per
  * {@link EqualByContent}), and by default is presumed that it does.</i> </ul>
- * 
+ *
  * <p>
  * Note also that though a value is conceptually not shared, if it is also
  * {@link Immutable immutable} then it is in fact safe to share objects (as in
  * the flyweight pattern). In addition, the {@link EqualByContent} semantic
  * means that we needn't care whether value types are being shared or not.
- * 
+ *
  * @see Aggregated
  * @see Parseable
  * @see Encodable
@@ -67,12 +67,12 @@ public @interface Value {
     /**
      * The fully qualified name of a class that implements the
      * {@link ValueSemanticsProvider} interface.
-     * 
+     *
      * <p>
      * This is optional because some implementations may pick up encodeability
      * via a configuration file, or via the equivalent
      * {@link #semanticsProviderClass()}.
-     * 
+     *
      * <p>
      * It is possible for value classes to act as their own semantics providers,
      * and may in particular implement the {@link EncoderDecoder} interface. The
@@ -82,7 +82,7 @@ public @interface Value {
      * the result of discards the instantiated object. What that means in
      * particular is that a self-encoding class shouldn't encode its own state,
      * it should encode the state of the object passed to it.
-     * 
+     *
      * <p>
      * Implementation note: the default value provided here is simply an empty
      * string because <tt>null</tt> is not a valid default.
@@ -92,7 +92,7 @@ public @interface Value {
     /**
      * As per {@link #semanticsProviderName()}, but specifying a class literal
      * rather than a fully qualified class name.
-     * 
+     *
      * <p>
      * Implementation note: the default value provided here is simply the
      * {@link Value}'s own class, because <tt>null</tt> is not a valid default.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
index 3277649..497b111 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
@@ -25,28 +25,28 @@ import org.apache.isis.applib.util.Enums;
 
 /**
  * Represents the location in the user interface where a class member is to be rendered.
- * 
+ *
  * <p>
  * Used to control visibility (eg using the {@link Hidden} annotation) and enablement
  * (eg using the {@link Disabled} annotation) in different regions of the user interface.
- * 
+ *
  * <p>
  * The application programmer may use any of the values of this enum.  Some represent
- * concrete locations (eg {@link #OBJECT_FORMS}, {@link #PARENTED_TABLES}), whereas some 
+ * concrete locations (eg {@link #OBJECT_FORMS}, {@link #PARENTED_TABLES}), whereas some
  * represent a combination of locations (eg {@link #ALL_TABLES}, {@link #ANYWHERE}).
- * 
+ *
  * <h4>Framework Implementation Notes</h4>
  * <p>
  * This enum is also used internally within the framework.  When rendering an element,
- * the framework developer should only use those values that represent concrete locations.  
+ * the framework developer should only use those values that represent concrete locations.
  */
 @XmlType(
         namespace = "http://isis.apache.org/applib/layout/component"
-)
+        )
 public enum Where {
     /**
      * The member should be disabled/hidden everywhere.
-     * 
+     *
      * <p>
      * Synonym for {@link #ANYWHERE}.
      */
@@ -58,7 +58,7 @@ public enum Where {
     },
     /**
      * The member should be disabled/hidden everywhere.
-     * 
+     *
      * <p>
      * Synonym for {@link #EVERYWHERE}.
      */
@@ -70,7 +70,7 @@ public enum Where {
     },
     /**
      * The member should be disabled/hidden when displayed within an object form.
-     * 
+     *
      * <p>
      * For most viewers, this applies to property and collection members, not actions.
      */
@@ -78,7 +78,7 @@ public enum Where {
     /**
      * The member should be disabled/hidden when displayed as a column of a table
      * within parent object's collection, and references that parent.
-     * 
+     *
      * <p>
      * For most (all?) viewers, this will have meaning only if applied to a property member.
      */
@@ -86,7 +86,7 @@ public enum Where {
     /**
      * The member should be disabled/hidden when displayed as a column of a table within
      * a parent object's collection.
-     * 
+     *
      * <p>
      * For most (all?) viewers, this will have meaning only if applied to a property member.
      */
@@ -94,7 +94,7 @@ public enum Where {
     /**
      * The member should be disabled/hidden when displayed as a column of a table showing a standalone list
      * of objects, for example as returned by a repository query.
-     * 
+     *
      * <p>
      * For most (all?) viewers, this will have meaning only if applied to a property member.
      */
@@ -102,7 +102,7 @@ public enum Where {
     /**
      * The member should be disabled/hidden when displayed as a column of a table, either an object's
      * collection or a standalone list.
-     * 
+     *
      * <p>
      * This combines {@link #PARENTED_TABLES} and {@link #STANDALONE_TABLES}.
      */
@@ -110,11 +110,11 @@ public enum Where {
         @Override
         public boolean includes(Where context) {
             return context == this || context == PARENTED_TABLES || context == STANDALONE_TABLES;
-        } 
+        }
     },
     /**
      * The member should be disabled/hidden except when displayed as a column of a standalone table.
-     * 
+     *
      * <p>
      * This is the inverse of {@link #STANDALONE_TABLES}.
      */
@@ -126,7 +126,7 @@ public enum Where {
     },
     /**
      * To act as an override if a member would normally be hidden as a result of some other convention.
-     * 
+     *
      * <p>
      * For example, if a property is annotated with <tt>@Title</tt>, then normally this should be hidden
      * from all tables.  Additionally annotating with <tt>@Hidden(where=Where.NOWHERE)</tt> overrides this.
@@ -146,7 +146,7 @@ public enum Where {
             return false;
         }
     };
-    
+
     public String getFriendlyName() {
         return Enums.getFriendlyNameOf(this);
     }
@@ -161,7 +161,7 @@ public enum Where {
 
     /**
      * Whether this <tt>Where</tt> is a superset of the context <tt>Where</tt> provided.
-     * 
+     *
      * <p>
      * For example, {@link #ALL_TABLES} includes {@link #STANDALONE_TABLES}; {@link #ANYWHERE} includes all others.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/clock/Clock.java b/core/applib/src/main/java/org/apache/isis/applib/clock/Clock.java
index b001a2e..f0b593c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/clock/Clock.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/clock/Clock.java
@@ -32,12 +32,12 @@ import org.apache.isis.applib.fixtures.FixtureClock;
 
 /**
  * Provides a mechanism to get (and possible to set) the current time.
- * 
+ *
  * <p>
  * The clock is used primarily by the temporal value classes, and is accessed by
  * the NOF as a singleton. The actual implementation used can be configured at
  * startup, but once specified the clock instance cannot be changed.
- * 
+ *
  * <p>
  * Unless another {@link Clock} implementation has been installed, the first
  * call to {@link #getInstance()} will instantiate an implementation that just
@@ -51,12 +51,12 @@ public abstract class Clock {
 
     /**
      * Returns the (singleton) instance of {@link Clock}.
-     * 
+     *
      * <p>
      * Unless it has been otherwise created, will lazily instantiate an
      * implementation that just delegate to the computer's own system clock (as
      * per {@link System#currentTimeMillis()}.
-     * 
+     *
      * @return
      */
     public final static Clock getInstance() {
@@ -75,7 +75,7 @@ public abstract class Clock {
 
     /**
      * The time as the number of millseconds since the epoch.
-     * 
+     *
      * @see Date#getTime()
      */
     public static long getTime() {
@@ -112,7 +112,7 @@ public abstract class Clock {
 
     /**
      * Allows subclasses to remove their implementation.
-     * 
+     *
      * @return whether a clock was removed.
      */
     protected static boolean remove() {
@@ -130,7 +130,7 @@ public abstract class Clock {
 
     /**
      * The current time since midnight, January 1, 1970 UTC.
-     * 
+     *
      * <p>
      * Measured in milliseconds, modeled after (and possibly implemented by)
      * {@link System#currentTimeMillis()}.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/clock/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/clock/package-info.java
index f0345bc..4bb4e71 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/clock/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/clock/package-info.java
@@ -20,20 +20,20 @@
 /**
  * Defines a {@link org.apache.isis.applib.clock.Clock} singleton
  * that can be used to obtain the current time.
- * 
+ *
  * <p>
  * All of the built-in value types relating to time have
  * {@link org.apache.isis.applib.adapters.ValueSemanticsProvider#getDefaultsProvider() defaults}
  * that use the {@link org.apache.isis.applib.clock.Clock} singleton.  For
- * consistency, domain objects and services should also use the Clock. 
- * 
+ * consistency, domain objects and services should also use the Clock.
+ *
  * <p>
  * Providing a clock is useful for testing, allowing the "current" time
  * to be placed under programmatic control (by {@link org.apache.isis.applib.fixtures.FixtureClock#initialize() initializing}
  * a {@link org.apache.isis.applib.fixtures.FixtureClock}.  Otherwise though
  * the {@link org.apache.isis.applib.clock.Clock} just uses the time from the
  * current system.
- * 
+ *
  * <p>
  * Note: this design also means that other {@link org.apache.isis.applib.clock.Clock}
  * implementations - such as a one that accesses the time from an NNTP time
diff --git a/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandDto.java b/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandDto.java
index a31dc59..1d59aea 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandDto.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandDto.java
@@ -42,9 +42,10 @@ import org.apache.isis.schema.utils.jaxbadapters.JavaSqlTimestampXmlGregorianCal
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class ContentMappingServiceForCommandDto implements ContentMappingService {
 
+    @Override
     @Programmatic
     public Object map(Object object, final List<MediaType> acceptableMediaTypes) {
         final boolean supported = Util.isSupported(CommandDto.class, acceptableMediaTypes);
@@ -104,9 +105,10 @@ public class ContentMappingServiceForCommandDto implements ContentMappingService
             // specify quite a high priority since custom processors will probably want to run after this one
             // (but can choose to run before if they wish)
             menuOrder = "1000"
-    )
+            )
     public static class CopyOverFromCommand implements CommandDtoProcessorService {
 
+        @Override
         public CommandDto process(final Command command, CommandDto commandDto) {
 
             // for some reason this isn't being persisted initially, so patch it in.  TODO: should fix this
diff --git a/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandsDto.java b/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandsDto.java
index 009f89d..6934b6a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandsDto.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/conmap/ContentMappingServiceForCommandsDto.java
@@ -33,9 +33,10 @@ import org.apache.isis.schema.cmd.v1.CommandsDto;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class ContentMappingServiceForCommandsDto implements ContentMappingService {
 
+    @Override
     @Programmatic
     public Object map(Object object, final List<MediaType> acceptableMediaTypes) {
         final boolean supported = Util.isSupported(CommandsDto.class, acceptableMediaTypes);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java b/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
index cbc29ad..7ba0d63 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
@@ -45,31 +45,31 @@ import org.apache.isis.schema.utils.jaxbadapters.PersistentEntitiesAdapter;
                 "elementObjectType",
                 "objects"
         }
-)
+        )
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         objectType = "isisApplib.DomainObjectList",
         editing = Editing.DISABLED,
         nature = Nature.VIEW_MODEL
-)
+        )
 @DomainObjectLayout(
         titleUiEvent = DomainObjectList.TitleUiEvent.class,
         iconUiEvent = DomainObjectList.IconUiEvent.class,
         cssClassUiEvent = DomainObjectList.CssClassUiEvent.class
-)
+        )
 public class DomainObjectList {
 
     // -- ui event classes
     public static class TitleUiEvent extends IsisApplibModule.TitleUiEvent<DomainObjectList>{ private static final long serialVersionUID = 1L; }
     public static class IconUiEvent extends IsisApplibModule.IconUiEvent<DomainObjectList>{ private static final long serialVersionUID = 1L; }
     public static class CssClassUiEvent extends IsisApplibModule.CssClassUiEvent<DomainObjectList>{ private static final long serialVersionUID = 1L; }
-    
+
 
     // -- domain event classes
     public static abstract class PropertyDomainEvent<T> extends IsisApplibModule.PropertyDomainEvent<DomainObjectList, T> { private static final long serialVersionUID = 1L; }
     public static abstract class CollectionDomainEvent<T> extends IsisApplibModule.CollectionDomainEvent<DomainObjectList, T> { private static final long serialVersionUID = 1L; }
     public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<DomainObjectList> { private static final long serialVersionUID = 1L; }
-    
+
 
     // -- constructors
     public DomainObjectList() {
@@ -86,14 +86,14 @@ public class DomainObjectList {
         this.actionId = actionId;
         this.actionArguments = actionArguments;
     }
-    
+
 
     // -- title
     private String title;
     public String title() {
         return title;
     }
-    
+
 
     // -- property: elementObjectType
     public static class ElementObjectTypeDomainEvent extends PropertyDomainEvent<String> { private static final long serialVersionUID = 1L; }
@@ -102,11 +102,11 @@ public class DomainObjectList {
     @Property(
             domainEvent = ElementObjectTypeDomainEvent.class,
             editing = Editing.DISABLED
-    )
+            )
     public String getElementObjectType() {
         return elementObjectType;
     }
-    
+
 
     // -- property: actionOwningType
     public static class ActionOwningTypeDomainEvent extends PropertyDomainEvent<String> { private static final long serialVersionUID = 1L; }
@@ -117,11 +117,11 @@ public class DomainObjectList {
             domainEvent = ActionOwningTypeDomainEvent.class,
             optionality = Optionality.OPTIONAL,
             editing = Editing.DISABLED
-    )
+            )
     public String getActionOwningType() {
         return actionOwningType;
     }
-    
+
 
     // -- property: actionId
     public static class ActionIdDomainEvent extends PropertyDomainEvent<String> { private static final long serialVersionUID = 1L; }
@@ -132,11 +132,11 @@ public class DomainObjectList {
             domainEvent = ActionIdDomainEvent.class,
             optionality = Optionality.OPTIONAL,
             editing = Editing.DISABLED
-    )
+            )
     public String getActionId() {
         return actionId;
     }
-    
+
 
     // -- property: actionArguments
     public static class ActionArgumentsDomainEvent extends PropertyDomainEvent<String> { private static final long serialVersionUID = 1L; }
@@ -147,11 +147,11 @@ public class DomainObjectList {
             domainEvent = ActionArgumentsDomainEvent.class,
             optionality = Optionality.OPTIONAL,
             editing = Editing.DISABLED
-    )
+            )
     public String getActionArguments() {
         return actionArguments;
     }
-    
+
 
     // -- collection: objects
     public static class ObjectsDomainEvent extends CollectionDomainEvent<Object> { private static final long serialVersionUID = 1L; }
@@ -162,7 +162,7 @@ public class DomainObjectList {
     @Collection(
             domainEvent = ObjectsDomainEvent.class,
             editing = Editing.DISABLED
-    )
+            )
     public List<Object> getObjects() {
         return objects;
     }
@@ -170,6 +170,6 @@ public class DomainObjectList {
     public void setObjects(final List<Object> objects) {
         this.objects = objects;
     }
-    
+
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
index b5f8bb9..0e5f9b7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
@@ -105,7 +105,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void setEventPhase(Phase phase) {
         this.phase = phase;
     }
-    
+
 
     // -- source (downcast to S)
     @Override
@@ -120,7 +120,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void setSource(S source) {
         this.source = source;
     }
-    
+
 
     // -- identifier
     /**
@@ -137,7 +137,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void setIdentifier(final Identifier identifier) {
         this.identifier = identifier;
     }
-    
+
 
     // -- hide, isHidden
     private boolean hidden;
@@ -151,7 +151,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void hide() {
         this.hidden = true;
     }
-    
+
 
     // -- disable, isDisabled, getDisabledReason, getDisabledReasonTranslatable
     private String disabledReason;
@@ -189,7 +189,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void disable(final TranslatableString reason) {
         this.disabledReasonTranslatable = reason;
     }
-    
+
 
     // -- invalidate, isInvalid, getInvalidityReason, getInvalidityReasonTranslatable
     private String invalidatedReason;
@@ -227,7 +227,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
         this.invalidatedReasonTranslatable = reason;
     }
 
-    
+
 
     // -- veto
     /**
@@ -246,26 +246,26 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     @Programmatic
     public void veto(final String reason, final Object... args) {
         switch (getEventPhase()) {
-            case HIDE:
-                hide();
-                break;
-            case DISABLE:
-                if(reason == null) {
-                    throw new IllegalArgumentException("Reason must be non-null");
-                }
-                disable(String.format(reason, args));
-                break;
-            case VALIDATE:
-                if(reason == null) {
-                    throw new IllegalArgumentException("Reason must be non-null");
-                }
-                invalidate(String.format(reason, args));
-                break;
-            case EXECUTED:
-            case EXECUTING:
-            	break;
-            default:
-            	throw _Exceptions.unmatchedCase(getEventPhase());
+        case HIDE:
+            hide();
+            break;
+        case DISABLE:
+            if(reason == null) {
+                throw new IllegalArgumentException("Reason must be non-null");
+            }
+            disable(String.format(reason, args));
+            break;
+        case VALIDATE:
+            if(reason == null) {
+                throw new IllegalArgumentException("Reason must be non-null");
+            }
+            invalidate(String.format(reason, args));
+            break;
+        case EXECUTED:
+        case EXECUTING:
+            break;
+        default:
+            throw _Exceptions.unmatchedCase(getEventPhase());
         }
     }
     /**
@@ -283,23 +283,23 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     @Programmatic
     public void veto(final TranslatableString translatableReason) {
         switch (getEventPhase()) {
-            case HIDE:
-                hide();
-                break;
-            case DISABLE:
-                disable(translatableReason);
-                break;
-            case VALIDATE:
-                invalidate(translatableReason);
-                break;
-            case EXECUTED:
-            case EXECUTING:
-            	break;
-            default:
-            	throw _Exceptions.unmatchedCase(getEventPhase());
+        case HIDE:
+            hide();
+            break;
+        case DISABLE:
+            disable(translatableReason);
+            break;
+        case VALIDATE:
+            invalidate(translatableReason);
+            break;
+        case EXECUTED:
+        case EXECUTING:
+            break;
+        default:
+            throw _Exceptions.unmatchedCase(getEventPhase());
         }
     }
-    
+
 
     // -- userData
     /**
@@ -319,17 +319,17 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
     public void put(Object key, Object value) {
         userData.put(key, value);
     }
-    
-    private final static ToString<AbstractDomainEvent<?>> toString = 
-    		ObjectContracts.<AbstractDomainEvent<?>>
-    		toString("source", AbstractDomainEvent::getSource)
-    		.thenToString("identifier", AbstractDomainEvent::getIdentifier)
-			.thenToString("eventPhase", AbstractDomainEvent::getEventPhase)
-    		;
-    
+
+    private final static ToString<AbstractDomainEvent<?>> toString =
+            ObjectContracts.<AbstractDomainEvent<?>>
+    toString("source", AbstractDomainEvent::getSource)
+    .thenToString("identifier", AbstractDomainEvent::getIdentifier)
+    .thenToString("eventPhase", AbstractDomainEvent::getEventPhase)
+    ;
+
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
index cbce11c..13264d4 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
@@ -40,7 +40,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public static class Default extends ActionDomainEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -51,7 +51,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public static class Noop extends ActionDomainEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -62,7 +62,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public static class Doop extends ActionDomainEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
 
     /**
@@ -95,7 +95,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setCommand(Command command) {
         this.command = command;
     }
-    
+
 
     // -- actionSemantics
     public SemanticsOf getSemantics() {
@@ -119,7 +119,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
         this.actionSemantics = actionSemantics;
     }
 
-    
+
 
     // -- parameterNames
     private List<String> parameterNames;
@@ -129,7 +129,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setParameterNames(final List<String> parameterNames) {
         this.parameterNames = parameterNames;
     }
-    
+
 
     // -- parameterTypes
     private List<Class<?>> parameterTypes;
@@ -140,7 +140,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setParameterTypes(final List<Class<?>> parameterTypes) {
         this.parameterTypes = parameterTypes;
     }
-    
+
 
 
     // region > mixedIn
@@ -176,7 +176,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setArguments(List<Object> arguments) {
         this.arguments = arguments;
     }
-    
+
 
     // -- returnValue
     /**
@@ -202,18 +202,18 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setReturnValue(final Object returnValue) {
         this.returnValue = returnValue;
     }
-    
 
-    
+
+
     private final static ToString<ActionDomainEvent<?>> toString = ObjectContracts.<ActionDomainEvent<?>>
-    		toString("source", ActionDomainEvent::getSource)
-    		.thenToString("identifier", ActionDomainEvent::getIdentifier)
-    		.thenToString("eventPhase", ActionDomainEvent::getEventPhase)
-    		;
-    
+    toString("source", ActionDomainEvent::getSource)
+    .thenToString("identifier", ActionDomainEvent::getIdentifier)
+    .thenToString("eventPhase", ActionDomainEvent::getEventPhase)
+    ;
+
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
index b7d581d..7df32ad 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
@@ -35,7 +35,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public static class Default extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -46,7 +46,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public static class Noop extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -57,7 +57,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public static class Doop extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
 
     // -- constructor
@@ -72,7 +72,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public CollectionDomainEvent() {
     }
 
-    
+
 
     // -- value
     private T value;
@@ -90,7 +90,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public void setValue(T value) {
         this.value = value;
     }
-    
+
 
     // -- Of
     public static enum Of {
@@ -128,20 +128,20 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
         this.of = of;
     }
 
-    
-    
-    private final static ToString<CollectionDomainEvent<?,?>> toString = 
-    		ObjectContracts.<CollectionDomainEvent<?,?>>
-		    toString("source", CollectionDomainEvent::getSource)
-		    .thenToString("identifier", CollectionDomainEvent::getIdentifier)
-		    .thenToString("eventPhase", CollectionDomainEvent::getEventPhase)
-		    .thenToString("of", CollectionDomainEvent::getOf) 
-		    .thenToString("value", CollectionDomainEvent::getValue)
-		    ;
+
+
+    private final static ToString<CollectionDomainEvent<?,?>> toString =
+            ObjectContracts.<CollectionDomainEvent<?,?>>
+    toString("source", CollectionDomainEvent::getSource)
+    .thenToString("identifier", CollectionDomainEvent::getIdentifier)
+    .thenToString("eventPhase", CollectionDomainEvent::getEventPhase)
+    .thenToString("of", CollectionDomainEvent::getOf)
+    .thenToString("value", CollectionDomainEvent::getValue)
+    ;
 
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
index bb3db8c..3450af7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
@@ -35,7 +35,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public static class Default extends PropertyDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -46,7 +46,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public static class Noop extends PropertyDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -57,7 +57,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public static class Doop extends PropertyDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- constructors
 
@@ -88,7 +88,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public void setOldValue(T oldValue) {
         this.oldValue = oldValue;
     }
-    
+
 
     // -- newValue
     private T newValue;
@@ -105,20 +105,20 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public void setNewValue(T newValue) {
         this.newValue = newValue;
     }
-    
 
-    private final static ToString<PropertyDomainEvent<?,?>> toString = 
-    		ObjectContracts.<PropertyDomainEvent<?,?>>
-		    toString("source", PropertyDomainEvent::getSource)
-		    .thenToString("identifier", PropertyDomainEvent::getIdentifier)
-		    .thenToString("eventPhase", PropertyDomainEvent::getEventPhase)
-		    .thenToString("oldValue", PropertyDomainEvent::getOldValue) 
-		    .thenToString("newValue", PropertyDomainEvent::getNewValue)
-		    ;
+
+    private final static ToString<PropertyDomainEvent<?,?>> toString =
+            ObjectContracts.<PropertyDomainEvent<?,?>>
+    toString("source", PropertyDomainEvent::getSource)
+    .thenToString("identifier", PropertyDomainEvent::getIdentifier)
+    .thenToString("eventPhase", PropertyDomainEvent::getEventPhase)
+    .thenToString("oldValue", PropertyDomainEvent::getOldValue)
+    .thenToString("newValue", PropertyDomainEvent::getNewValue)
+    ;
 
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
-    
+
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
index 5244a75..f8f76a7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
@@ -52,13 +52,13 @@ public abstract class AbstractLifecycleEvent<S> extends EventObject {
     public void setSource(S source) {
         this.source = source;
     }
-    
+
 
     private final static ToString<AbstractLifecycleEvent<?>> toString = ObjectContracts
-    		.toString("source", AbstractLifecycleEvent::getSource);
-    
+            .toString("source", AbstractLifecycleEvent::getSource);
+
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
index bed4749..3effbca 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectCreatedEvent<S> extends AbstractLifecycleEvent<S> {
             return "ObjectCreatedEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectCreatedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Noop extends ObjectCreatedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectCreatedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Doop extends ObjectCreatedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectCreatedEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
index 5e3c12e..7258a9b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectLoadedEvent<S> extends AbstractLifecycleEvent<S> {
             return "ObjectLoadedEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectLoadedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Noop extends ObjectLoadedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectLoadedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Doop extends ObjectLoadedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
index 0cb4cfd..d3ffa1f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectPersistedEvent<S> extends AbstractLifecycleEvent<S>
             return "ObjectPersistedEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectPersistedEvent<S> extends AbstractLifecycleEvent<S>
     public static class Noop extends ObjectPersistedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectPersistedEvent<S> extends AbstractLifecycleEvent<S>
     public static class Doop extends ObjectPersistedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectPersistedEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
index a337c75..ad3ee5c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S>
             return "ObjectPersistingEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S>
     public static class Noop extends ObjectPersistingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S>
     public static class Doop extends ObjectPersistingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectPersistingEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
index e2539c0..d949d02 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
             return "ObjectRemovingEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Noop extends ObjectRemovingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Doop extends ObjectRemovingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectRemovingEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
index aa80fed..6d60234 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
             return "ObjectUpdatedEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Noop extends ObjectUpdatedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Doop extends ObjectUpdatedEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectUpdatedEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
index aa4b12c..5ed60ed 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
@@ -38,7 +38,7 @@ public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
             return "ObjectUpdatingEvent$Default{source=" + getSource() + "}";
         }
     }
-    
+
 
     // -- Noop class
 
@@ -49,7 +49,7 @@ public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Noop extends ObjectUpdatingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -60,7 +60,7 @@ public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
     public static class Doop extends ObjectUpdatingEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     public ObjectUpdatingEvent() {
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
index 385bb1e..6b65a4d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
@@ -48,7 +48,7 @@ public abstract class AbstractUiEvent<S> extends EventObject {
     private static Object sourceElseDummy(final Object source) {
         return source != null ? source : new Object();
     }
-    
+
 
     // -- source
 
@@ -65,7 +65,7 @@ public abstract class AbstractUiEvent<S> extends EventObject {
         this.source = source;
     }
 
-    
+
 
     // -- userData
     /**
@@ -85,14 +85,14 @@ public abstract class AbstractUiEvent<S> extends EventObject {
     public void put(Object key, Object value) {
         userData.put(key, value);
     }
-    
+
 
     private final static ToString<AbstractUiEvent<?>> toString = ObjectContracts
-    		.toString("source", AbstractUiEvent::getSource);
-    
+            .toString("source", AbstractUiEvent::getSource);
+
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
index b04f27d..11e73a6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
@@ -45,7 +45,7 @@ public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
         super(source);
     }
 
-    
+
 
     // -- Default class
     /**
@@ -57,7 +57,7 @@ public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
     public static class Default extends CssClassUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -68,7 +68,7 @@ public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
     public static class Noop extends CssClassUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -79,7 +79,7 @@ public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
     public static class Doop extends CssClassUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- cssClass
     private String cssClass;
@@ -97,6 +97,6 @@ public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
     public void setCssClass(final String cssClass) {
         this.cssClass = cssClass;
     }
-    
+
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
index 81b8a74..30176d4 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
@@ -43,7 +43,7 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
         super(source);
     }
 
-    
+
 
     // -- Default class
     /**
@@ -55,7 +55,7 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
     public static class Default extends IconUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -66,7 +66,7 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
     public static class Noop extends IconUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -77,7 +77,7 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
     public static class Doop extends IconUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
 
     // -- iconName
@@ -96,6 +96,6 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
     public void setIconName(final String iconName) {
         this.iconName = iconName;
     }
-    
+
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java b/core/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
index 85f1f0a..4353e56 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
@@ -39,7 +39,7 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
     public static class Default extends TitleUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Noop class
 
@@ -50,7 +50,7 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
     public static class Noop extends TitleUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- Doop class
 
@@ -61,7 +61,7 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
     public static class Doop extends TitleUiEvent<Object> {
         private static final long serialVersionUID = 1L;
     }
-    
+
 
     // -- constructors
     /**
@@ -79,7 +79,7 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
         super(source);
     }
 
-    
+
 
     // -- title
     private String title;
@@ -101,7 +101,7 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
     public void setTitle(final String title) {
         this.title = title;
     }
-    
+
 
     // -- translatableTitle
     private TranslatableString translatableTitle;
@@ -124,6 +124,6 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
     public void setTranslatableTitle(final TranslatableString translatableTitle) {
         this.translatableTitle = translatableTitle;
     }
-    
+
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
index b311230..157046a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureClock.java
@@ -26,10 +26,10 @@ import org.apache.isis.applib.clock.Clock;
 
 /**
  * This clock, for use by fixtures, can be set to specific time.
- * 
+ *
  * <p>
  * If not set it will provide the time provided by the system clock.
- * 
+ *
  * <p>
  * Note that - by design - it does not provide any mechanism to advance the time
  * (eg automatic ticking of the clock). That is, the time returned is always
@@ -50,10 +50,10 @@ public class FixtureClock extends Clock {
     /**
      * Configures the system to use a FixtureClock rather than the in-built
      * system clock. Can be called multiple times.
-     * 
+     *
      * <p>
      * Must call before any other call to {@link Clock#getInstance()}.
-     * 
+     *
      * @throws IllegalStateException
      *             if Clock singleton already initialized with some other
      *             implementation.
@@ -93,7 +93,7 @@ public class FixtureClock extends Clock {
 
     /**
      * Access via {@link Clock#getTime()}.
-     * 
+     *
      * <p>
      * Will just return the system time until {@link #setDate(int, int, int)} or
      * {@link #setTime(int, int)} (or one of the overloads) has been called.
@@ -112,7 +112,7 @@ public class FixtureClock extends Clock {
 
     /**
      * Sets the clock to epoch, that is midnight, 1 Jan 1970 UTC.
-     * 
+     *
      * <p>
      * This is typically called before either {@link #setDate(int, int, int)}
      * (so that time is set to midnight) and/or {@link #setTime(int, int)} (so
@@ -126,7 +126,7 @@ public class FixtureClock extends Clock {
     /**
      * Sets the hours and minutes as specified, and sets the seconds and
      * milliseconds to zero, but the date portion is left unchanged.
-     * 
+     *
      * @see #setDate(int, int, int)
      * @see #addTime(int, int)
      */
@@ -140,7 +140,7 @@ public class FixtureClock extends Clock {
 
     /**
      * Sets the date, but the time portion is left unchanged.
-     * 
+     *
      * @see #setTime(int, int)
      * @see #addDate(int, int, int)
      */
@@ -153,11 +153,11 @@ public class FixtureClock extends Clock {
 
     /**
      * Adjusts the time by the specified number of hours and minutes.
-     * 
+     *
      * <p>
      * Typically called after {@link #setTime(int, int)}, to move the clock
      * forward or perhaps back.
-     * 
+     *
      * @see #addDate(int, int, int)
      */
     public void addTime(final int hours, final int minutes) {
@@ -168,11 +168,11 @@ public class FixtureClock extends Clock {
 
     /**
      * Adjusts the time by the specified number of years, months or days.
-     * 
+     *
      * <p>
      * Typically called after {@link #setDate(int, int, int)}, to move the clock
      * forward or perhaps back.
-     * 
+     *
      * @see #addTime(int, int)
      */
     public void addDate(final int years, final int months, final int days) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
index c1bf211..5d19aa5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
@@ -17,19 +17,19 @@
  *  under the License.
  */
 
-    package org.apache.isis.applib.fixtures;
+package org.apache.isis.applib.fixtures;
 
 /**
  * Enumerates the different types of {@link InstallableFixture fixture}s
  * supported.
- * 
+ *
  * @see InstallableFixture#getType()
  */
 public enum FixtureType {
     /**
      * A fixture that installs data (either reference data or operational data)
      * into an object store.
-     * 
+     *
      * <p>
      * Some object stores are in-memory only, in which case these will always
      * want fixtures of this type to be installed. However, for object stores
@@ -40,7 +40,7 @@ public enum FixtureType {
     DOMAIN_OBJECTS,
     /**
      * A fixture that does not installs data into the object store.
-     * 
+     *
      * <p>
      * Fixtures of this type are always installed. Typical examples are:
      * <ul>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
index 43b8abd..b4393cd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
@@ -27,17 +27,17 @@ import org.apache.isis.commons.internal.collections._Lists;
 /**
  * Indicates that the demo or test should be run as the specified user, with the
  * specified roles.
- * 
+ *
  * <p>
  * Note: this fixture does not in itself do anything (its {@link #install()} is
  * a no-op). However, if present in the fixture list then is &quot;noticed&quot;
  * by the framework, and is used to automatically logon when the framework is
  * booted (providing running in prototype or exploration, not in production).
- * 
+ *
  * <p>
  * To change the user during the installation of fixtures, either use
  * {@link SwitchUserFixture}.
- * 
+ *
  * @see SwitchUserFixture
  * @deprecated - use {@link FixtureScript} instead.
  */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
index f848348..429ebcc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixtures/package-info.java
@@ -26,21 +26,21 @@
  *     approach to handling fixtures, and should generally be used in preference to
  *     {@link org.apache.isis.applib.fixtures.InstallableFixture}.
  * </p>
- * 
+ *
  * <p>
  * Fixtures are used to initialize the system, typically for either testing
  * or for demo/prototyping purposes.  Initializing the system means:
  * <ul>
  * <li><p>setting up objects within the persistent object store (typically only relevant
  * if using the in-memory object store; other object stores will generally
- * ignore these fixtures)</p></li>  
+ * ignore these fixtures)</p></li>
  * <li><p>setting the current {@link org.apache.isis.applib.fixtures.DateFixture date}</p></li>
- * <li><p>{@link org.apache.isis.applib.fixtures.SwitchUserFixture switching} 
+ * <li><p>{@link org.apache.isis.applib.fixtures.SwitchUserFixture switching}
  * the current user while fixtures are being installed (eg so that a workflow
- * can be picked up midway through)</p></li>  
+ * can be picked up midway through)</p></li>
  * <li><p>specifying the {@link org.apache.isis.applib.fixtures.LogonFixture currently logged on} user once the fixtures have been installed</p></li>
  * </ul>
- * 
+ *
  * <p>
  * Fixtures are typically combined into a {@link org.apache.isis.applib.fixtures.CompositeFixture composite}
  * pattern; the {@link org.apache.isis.applib.fixtures.AbstractFixture} adapter
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
index d15aa8a..c0a0776 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.commons.internal.collections._Lists;
 
 public abstract class BuilderScriptAbstract<T,F extends BuilderScriptAbstract<T,F>>
-        extends FixtureScript implements WithPrereqs<T,F>, FixtureScriptWithExecutionStrategy {
+extends FixtureScript implements WithPrereqs<T,F>, FixtureScriptWithExecutionStrategy {
 
     private final FixtureScripts.MultipleExecutionStrategy executionStrategy;
 
@@ -98,9 +98,9 @@ public abstract class BuilderScriptAbstract<T,F extends BuilderScriptAbstract<T,
     }
 
     @SuppressWarnings("unchecked") //[ahuber] it's safe to assume that this object is of type F
-	protected F self() {
-    	return (F)this;
+    protected F self() {
+        return (F)this;
     }
-    
+
 }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/DiscoverableFixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/DiscoverableFixtureScript.java
index d550944..8676cc9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/DiscoverableFixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/DiscoverableFixtureScript.java
@@ -26,27 +26,27 @@ package org.apache.isis.applib.fixturescripts;
 public abstract class DiscoverableFixtureScript extends FixtureScript {
 
     /**
-     * Initializes a {@link Discoverability#DISCOVERABLE} fixture, with 
+     * Initializes a {@link Discoverability#DISCOVERABLE} fixture, with
      * {@link #getFriendlyName()} and {@link #getLocalName()} derived from the class name.
-     * 
+     *
      * <p>
      * Use {@link #withDiscoverability(Discoverability)} to override.
      */
     public DiscoverableFixtureScript() {
         this(null, null);
     }
-    
+
     /**
      * Initializes a {@link Discoverability#DISCOVERABLE} fixture.
-     * 
+     *
      * <p>
      * Use {@link #withDiscoverability(Discoverability)} to override.
-     * 
+     *
      * @param friendlyName - if null, will be derived from class name
      * @param localName - if null, will be derived from class name
      */
     public DiscoverableFixtureScript(final String friendlyName, final String localName) {
         super(friendlyName, localName, Discoverability.DISCOVERABLE);
     }
-    
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
index 2b34087..0f26640 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
@@ -49,13 +49,13 @@ public class ExecutionParameters {
         final Map<String, String> keyValues = _Maps.newLinkedHashMap();
         if (parameters != null) {
             try {
-            	_Strings.splitThenStream(parameters, "\n")
-            	.forEach(line->{
+                _Strings.splitThenStream(parameters, "\n")
+                .forEach(line->{
                     final Matcher matcher = keyEqualsValuePattern.matcher(line);
                     if (matcher.matches()) {
                         keyValues.put(matcher.group(1).trim(), matcher.group(2).trim());
                     }
-            	});
+                });
             } catch (final Exception e) {
                 // ignore, shouldn't happen
             }
@@ -72,11 +72,11 @@ public class ExecutionParameters {
     }
 
     public <T> T getParameterAsT(final String parameterName, final Class<T> cls) {
-    	return _Casts.uncheckedCast(getParameterAsObject(parameterName, cls));
+        return _Casts.uncheckedCast(getParameterAsObject(parameterName, cls));
     }
-    
+
     protected Object getParameterAsObject(final String parameterName, final Class<?> cls) {
-    	final Object value;
+        final Object value;
         if (Enum.class.isAssignableFrom(cls)) {
             Class<?> enumClass = cls;
             value = getParameterAsEnum(parameterName, _Casts.uncheckedCast(enumClass));
@@ -107,7 +107,7 @@ public class ExecutionParameters {
         } else if (cls == String.class) {
             value = getParameter(parameterName);
         } else {
-        	value = null;
+            value = null;
         }
         return value;
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParametersService.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParametersService.java
index 8f09769..e119a6e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParametersService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParametersService.java
@@ -37,7 +37,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class ExecutionParametersService {
 
     @Programmatic
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResult.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResult.java
index 8404f05..1c36613 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResult.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResult.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.*;
 @DomainObject(
         nature = Nature.VIEW_MODEL,
         objectType = "isisApplib.FixtureResult"
-)
+        )
 @ViewModelLayout(paged=500)
 public class FixtureResult {
 
@@ -42,7 +42,7 @@ public class FixtureResult {
         this.fixtureScriptClassName = fixtureScriptClassName;
     }
 
-    
+
 
     // -- fixtureScriptQualifiedName (programmatic)
 
@@ -57,7 +57,7 @@ public class FixtureResult {
         this.fixtureScriptQualifiedName = fixtureScriptQualifiedName;
     }
 
-    
+
 
     // -- key (property)
 
@@ -73,7 +73,7 @@ public class FixtureResult {
         this.key = key;
     }
 
-    
+
 
     // -- object (property)
 
@@ -89,7 +89,7 @@ public class FixtureResult {
         this.object = object;
     }
 
-    
+
 
     // -- className (derived property)
 
@@ -100,13 +100,13 @@ public class FixtureResult {
         return object != null? object.getClass().getName(): null;
     }
 
-    
+
 
     // -- injected services
 
     @javax.inject.Inject
     FixtureScripts fixtureScripts;
 
-    
+
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
index 46e8089..9fcde60 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
@@ -44,7 +44,7 @@ public class FixtureResultList {
         this.fixtureScripts = fixtureScripts;
         this.executionContext = executionContext;
     }
-    
+
 
 
     // -- list of FixtureResults
@@ -103,7 +103,7 @@ public class FixtureResultList {
         return Collections.unmodifiableList(list);
     }
 
-    
+
 
     // -- nextItemFor
 
@@ -118,7 +118,7 @@ public class FixtureResultList {
         return "item-"+atomicInteger.incrementAndGet();
     }
 
-    
+
 
 
     // -- lookup
@@ -138,9 +138,9 @@ public class FixtureResultList {
         return _Casts.uncheckedCast(object);
     }
 
-    
 
-    // -- injected services 
+
+    // -- injected services
 
     /**
      * Injected in {@link #FixtureResultList(FixtureScripts, org.apache.isis.applib.fixturescripts.FixtureScript.ExecutionContext) constructor}.
@@ -150,5 +150,5 @@ public class FixtureResultList {
      * Injected in {@link #FixtureResultList(FixtureScripts, org.apache.isis.applib.fixturescripts.FixtureScript.ExecutionContext) constructor}.
      */
     private final FixtureScript.ExecutionContext executionContext;
-    
+
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
index d72bde8..8729b84 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
@@ -51,9 +51,9 @@ import org.joda.time.LocalDate;
 import org.joda.time.LocalDateTime;
 
 @ViewModelLayout(named="Script")
-public abstract class FixtureScript 
-        extends AbstractViewModel 
-        implements InstallableFixture {
+public abstract class FixtureScript
+extends AbstractViewModel
+implements InstallableFixture {
 
     protected static final String PATH_SEPARATOR = "/";
 
@@ -92,8 +92,8 @@ public abstract class FixtureScript
      * @param discoverability - whether this fixture script can be rendered as a choice to execute through {@link org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(FixtureScript, String)}}.
      */
     public FixtureScript(
-            final String friendlyName, 
-            final String localName, 
+            final String friendlyName,
+            final String localName,
             final Discoverability discoverability) {
         this(friendlyName, localName, discoverability, /* no tracing */ null);
     }
@@ -114,7 +114,7 @@ public abstract class FixtureScript
 
         withTracing(printStream);
     }
-    
+
     protected String localNameElseDerived(final String str) {
         return str != null ? str : _Strings.asLowerDashed.apply(friendlyNameElseDerived(str));
     }
@@ -123,7 +123,7 @@ public abstract class FixtureScript
         return str != null ? str : _Strings.asNaturalName2.apply(getClass().getSimpleName());
     }
 
-    
+
 
     // -- tracing
 
@@ -146,7 +146,7 @@ public abstract class FixtureScript
         return withTracing(System.out);
     }
 
-    
+
 
     // -- viewModel impl
 
@@ -162,7 +162,7 @@ public abstract class FixtureScript
         fixtureScripts.initOf(mementoStr, this);
     }
 
-    
+
 
     // -- qualifiedName
 
@@ -171,12 +171,12 @@ public abstract class FixtureScript
         return getParentPath() + getLocalName();
     }
 
-    
+
 
     // -- friendlyName (property)
 
     private String friendlyName;
-    
+
     @Title
     @PropertyLayout(hidden = Where.EVERYWHERE)
     public String getFriendlyName() {
@@ -186,7 +186,7 @@ public abstract class FixtureScript
         this.friendlyName = friendlyName;
     }
 
-    
+
 
     // -- localName
 
@@ -203,12 +203,12 @@ public abstract class FixtureScript
         this.localName = localName;
     }
 
-    
+
 
     // -- parentPath
 
     private String parentPath;
-    
+
     /**
      * Path of the parent of this script (if any), with trailing {@value #PATH_SEPARATOR}.
      */
@@ -221,7 +221,7 @@ public abstract class FixtureScript
         this.parentPath = parentPath;
     }
 
-    
+
 
     // -- discoverability
 
@@ -248,7 +248,7 @@ public abstract class FixtureScript
     /**
      * Whether this fixture script is {@link Discoverability discoverable} (in other words
      * whether it will be listed to be run in the {@link FixtureScripts#runFixtureScript(FixtureScript, String) run fixture script} action.
-     * 
+     *
      * <p>
      * By default {@link DiscoverableFixtureScript}s are {@link Discoverability#DISCOVERABLE discoverable}, all other
      * {@link FixtureScript}s are {@link Discoverability#NON_DISCOVERABLE not}.  This can be overridden in the
@@ -265,7 +265,7 @@ public abstract class FixtureScript
         return this;
     }
 
-    
+
 
     // -- ExecutionContext
 
@@ -558,7 +558,7 @@ public abstract class FixtureScript
          */
         @Programmatic
         public <T extends FixtureScript> T executeChildT(final FixtureScript callingFixtureScript, final T childFixtureScript) {
-             return executeChildT(callingFixtureScript, null, childFixtureScript);
+            return executeChildT(callingFixtureScript, null, childFixtureScript);
         }
 
         /**
@@ -641,7 +641,7 @@ public abstract class FixtureScript
                 return childFixtureScript;
 
             default:
-            	throw _Exceptions.unmatchedCase("Execution strategy: '%s' not recognized", executionStrategy);
+                throw _Exceptions.unmatchedCase("Execution strategy: '%s' not recognized", executionStrategy);
             }
         }
 
@@ -703,7 +703,7 @@ public abstract class FixtureScript
             return Collections.unmodifiableList(previouslyExecuted);
         }
 
-        
+
 
         /**
          * used and populated only if the {@link FixtureScripts.MultipleExecutionStrategy#EXECUTE_ONCE_BY_CLASS}
@@ -717,7 +717,7 @@ public abstract class FixtureScript
          */
         private final Map<FixtureScript, FixtureScript> fixtureScriptByValue = _Maps.newLinkedHashMap();
 
-        
+
 
         // -- tracing
 
@@ -754,7 +754,7 @@ public abstract class FixtureScript
             traceHighwatermark = Math.max(key.length(), traceHighwatermark);
             return pad(key, roundup(traceHighwatermark, 20));
         }
-        
+
 
         private static String pad(final String str, final int padTo) {
             return _Strings.padEnd(str, padTo, ' ');
@@ -781,7 +781,7 @@ public abstract class FixtureScript
 
     }
 
-    
+
 
     // -- defaultParam, checkParam
     protected <T> T defaultParam(final String parameterName, final ExecutionContext ec, final T defaultValue) {
@@ -855,7 +855,7 @@ public abstract class FixtureScript
     private String uppercase(final String parameterName) {
         return parameterName.substring(0, 1).toUpperCase() + parameterName.substring(1);
     }
-    
+
 
     // -- run (entry point for FixtureScripts service to call)
 
@@ -887,7 +887,7 @@ public abstract class FixtureScript
         return null;
     }
 
-    
+
 
 
     // -- execute (API for subclasses to implement)
@@ -902,7 +902,7 @@ public abstract class FixtureScript
     @Programmatic
     protected abstract void execute(final ExecutionContext executionContext);
 
-    
+
 
     // -- (legacy) InstallableFixture impl
 
@@ -911,13 +911,14 @@ public abstract class FixtureScript
     public FixtureType getType() {
         return FixtureType.DOMAIN_OBJECTS;
     }
-    
+
+    @Override
     @Programmatic
     public final void install() {
         run(null);
     }
 
-    
+
 
     // -- helpers (for subclasses)
 
@@ -925,7 +926,7 @@ public abstract class FixtureScript
      * Returns the first non-null value; for convenience of subclass implementations
      */
     @SafeVarargs
-	protected static <T> T coalesce(final T... ts) {
+    protected static <T> T coalesce(final T... ts) {
         for (final T t : ts) {
             if(t != null) return t;
         }
@@ -964,7 +965,7 @@ public abstract class FixtureScript
         transactionService.nextTransaction();
     }
 
-    
+
 
 
     // -- helpers (local)
@@ -973,7 +974,7 @@ public abstract class FixtureScript
     String pathWith(final String subkey) {
         return (getQualifiedName() != null? getQualifiedName() + PATH_SEPARATOR: "") +  subkey;
     }
-    
+
 
     // -- injected services
 
@@ -1002,5 +1003,5 @@ public abstract class FixtureScript
     protected SessionManagementService sessionManagementService;
 
 
-    
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index a78f90e..9563bf1 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -205,7 +205,7 @@ public abstract class FixtureScripts extends AbstractService {
     }
 
     // -- init
-    
+
     @Programmatic
     @PostConstruct
     public void init() {
@@ -231,7 +231,7 @@ public abstract class FixtureScripts extends AbstractService {
             if(!packageName.startsWith(getPackagePrefix())) {
                 // redundant check if ClassDiscoveryService2 in use because already filtered out
                 continue;
-            } 
+            }
             final FixtureScript fs = newFixtureScript(fixtureScriptCls);
             if(fs != null) {
                 fixtureScripts.add(fs);
@@ -240,10 +240,10 @@ public abstract class FixtureScripts extends AbstractService {
         Collections.sort(fixtureScripts, new Comparator<FixtureScript>() {
             @Override
             public int compare(final FixtureScript o1, final FixtureScript o2) {
-            	return Comparator
-            				.comparing(FixtureScript::getFriendlyName)
-            				.thenComparing(FixtureScript::getQualifiedName)
-            				.compare(o1, o2);
+                return Comparator
+                        .comparing(FixtureScript::getFriendlyName)
+                        .thenComparing(FixtureScript::getQualifiedName)
+                        .compare(o1, o2);
             }
         });
         return fixtureScripts;
@@ -264,15 +264,15 @@ public abstract class FixtureScripts extends AbstractService {
             if(!template.isDiscoverable()) {
                 return null;
             }
-            
+
             final FixtureScript instance = factoryService.instantiate(fixtureScriptCls);
             instance.setParentPath(template.getParentPath());
-            
+
             return instance;
-            
+
             //Legacy of ...
             //return container.newViewModelInstance(fixtureScriptCls, mementoFor(template));
-            
+
         } catch(final Exception ex) {
             // ignore if does not have a no-arg constructor or cannot be instantiated
             return null;
@@ -299,20 +299,20 @@ public abstract class FixtureScripts extends AbstractService {
     // -- runFixtureScript (prototype action)
 
     /**
-     * To make this action usable in the UI, override either {@link #choices0RunFixtureScript()} or 
+     * To make this action usable in the UI, override either {@link #choices0RunFixtureScript()} or
      * {@link #autoComplete0RunFixtureScript(String)} with <tt>public</tt> visibility</tt>.
      */
     @Action(
-        restrictTo = RestrictTo.PROTOTYPING
-    )
+            restrictTo = RestrictTo.PROTOTYPING
+            )
     @MemberOrder(sequence="10")
     public List<FixtureResult> runFixtureScript(
-            final FixtureScript fixtureScript, 
+            final FixtureScript fixtureScript,
             @ParameterLayout(
                     named="Parameters",
                     describedAs="Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)",
                     multiLine = 10
-            )
+                    )
             @Parameter(optionality = Optionality.OPTIONAL)
             final String parameters) {
 
@@ -330,14 +330,14 @@ public abstract class FixtureScripts extends AbstractService {
         return getFixtureScriptList();
     }
     protected List<FixtureScript> autoComplete0RunFixtureScript(final @MinLength(1) String arg) {
-    	
-    	final Predicate<String> contains = str -> str != null && str.contains(arg);
-    	
-    	return _NullSafe.stream(getFixtureScriptList())
-	    	.filter(script->{
-	    		return contains.test(script.getFriendlyName()) || contains.test(script.getLocalName());
-	    	})
-	    	.collect(Collectors.toList());
+
+        final Predicate<String> contains = str -> str != null && str.contains(arg);
+
+        return _NullSafe.stream(getFixtureScriptList())
+                .filter(script->{
+                    return contains.test(script.getFriendlyName()) || contains.test(script.getLocalName());
+                })
+                .collect(Collectors.toList());
     }
     public String disableRunFixtureScript() {
         return getFixtureScriptList().isEmpty()? "No fixture scripts found under package '" + getPackagePrefix() + "'": null;
@@ -358,6 +358,7 @@ public abstract class FixtureScripts extends AbstractService {
             runFixtureScript(fixtureScriptList[0], null);
         } else {
             runFixtureScript(new FixtureScript() {
+                @Override
                 protected void execute(ExecutionContext executionContext) {
                     FixtureScript[] fixtureScripts = fixtureScriptList;
                     for (FixtureScript fixtureScript : fixtureScripts) {
@@ -398,9 +399,9 @@ public abstract class FixtureScripts extends AbstractService {
     public FixtureScript.ExecutionContext newExecutionContext(final String parameters) {
         final ExecutionParameters executionParameters =
                 executionParametersService != null
-                        ? executionParametersService.newExecutionParameters(parameters)
+                ? executionParametersService.newExecutionParameters(parameters)
                         : new ExecutionParameters(parameters);
-        return FixtureScript.ExecutionContext.create(executionParameters, this);
+                return FixtureScript.ExecutionContext.create(executionParameters, this);
     }
 
     // -- hooks
@@ -423,19 +424,19 @@ public abstract class FixtureScripts extends AbstractService {
 
     @XmlRootElement(name = "fixtureScript")
     public static class FixtureScriptMemento {
-    	private String path;
-		public String getPath() { return path; }
-		public void setPath(String path) { this.path = path; }
+        private String path;
+        public String getPath() { return path; }
+        public void setPath(String path) { this.path = path; }
     }
 
     String mementoFor(final FixtureScript fs) {
-    	final FixtureScriptMemento memento = new FixtureScriptMemento();
-    	memento.setPath(fs.getParentPath());
-    	return jaxbService.toXml(memento);
+        final FixtureScriptMemento memento = new FixtureScriptMemento();
+        memento.setPath(fs.getParentPath());
+        return jaxbService.toXml(memento);
     }
-    
+
     void initOf(final String xml, final FixtureScript fs) {
-    	final FixtureScriptMemento memento = jaxbService.fromXml(FixtureScriptMemento.class, xml);
+        final FixtureScriptMemento memento = jaxbService.fromXml(FixtureScriptMemento.class, xml);
         fs.setParentPath(memento.getPath());
     }
 
@@ -450,13 +451,13 @@ public abstract class FixtureScripts extends AbstractService {
             // continue
         } else {
             switch(getNonPersistedObjectsStrategy()) {
-                case PERSIST:
-                    transactionService.flushTransaction();
-                    break;
-                case IGNORE:
-                    return null;
-                default:
-                	throw _Exceptions.unmatchedCase(getNonPersistedObjectsStrategy());
+            case PERSIST:
+                transactionService.flushTransaction();
+                break;
+            case IGNORE:
+                return null;
+            default:
+                throw _Exceptions.unmatchedCase(getNonPersistedObjectsStrategy());
             }
         }
         final FixtureResult fixtureResult = new FixtureResult();
@@ -476,8 +477,8 @@ public abstract class FixtureScripts extends AbstractService {
     // -- injected services
 
     @javax.inject.Inject
-    FactoryService factoryService; 
-    
+    FactoryService factoryService;
+
     @javax.inject.Inject
     TitleService titleService;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
index b972a37..ed49646 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
@@ -28,7 +28,7 @@ public abstract class SimpleFixtureScript extends FixtureScript {
     }
 
     /**
-     * Initializes a {@link Discoverability#NON_DISCOVERABLE} fixture, with 
+     * Initializes a {@link Discoverability#NON_DISCOVERABLE} fixture, with
      * {@link #getFriendlyName()} and {@link #getLocalName()} derived from the class name.
      *
      * <p>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/clock/TickingClockFixture.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/clock/TickingClockFixture.java
index b4909e5..3ec3821 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/clock/TickingClockFixture.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/clock/TickingClockFixture.java
@@ -32,8 +32,8 @@ import org.apache.isis.applib.fixturescripts.FixtureScripts;
 
 
 public class TickingClockFixture
-        extends FixtureScript
-        implements FixtureScriptWithExecutionStrategy {
+extends FixtureScript
+implements FixtureScriptWithExecutionStrategy {
 
     // -- date property
     private String date;
@@ -44,7 +44,7 @@ public class TickingClockFixture
         this.date = date;
         return this;
     }
-    
+
 
     @Override
     protected void execute(ExecutionContext ec) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
index 4c4ec5e..b398ece 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
@@ -28,8 +28,8 @@ import org.apache.isis.applib.fixturescripts.PersonaWithBuilderScript;
 import org.apache.isis.commons.internal.collections._Lists;
 
 public class PersonaEnumPersistAll<E extends Enum<E> & PersonaWithBuilderScript<T,F>, T, F extends BuilderScriptAbstract<T,F>>
-        extends FixtureScript
-        implements FixtureScriptWithExecutionStrategy {
+extends FixtureScript
+implements FixtureScriptWithExecutionStrategy {
 
     private final Class<E> personaEnumClass;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
index d637126..400906d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
@@ -89,7 +89,7 @@ public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
         }
         final DiscriminatorMetadata discriminatorMetadata = inheritanceMetadata.getDiscriminatorMetadata();
         if(discriminatorMetadata == null ||
-           discriminatorMetadata.getStrategy() != DiscriminatorStrategy.VALUE_MAP) {
+                discriminatorMetadata.getStrategy() != DiscriminatorStrategy.VALUE_MAP) {
             return null;
         }
         return discriminatorMetadata.getValue();
@@ -112,7 +112,7 @@ public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
         }
         final DiscriminatorMetadata discriminatorMetadata = inheritanceMetadata.getDiscriminatorMetadata();
         if(discriminatorMetadata == null ||
-           discriminatorMetadata.getStrategy() != DiscriminatorStrategy.VALUE_MAP) {
+                discriminatorMetadata.getStrategy() != DiscriminatorStrategy.VALUE_MAP) {
             return null;
         }
         return discriminatorMetadata.getColumn();
@@ -140,9 +140,11 @@ public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
         this.isisJdoSupport.executeUpdate(sql);
     }
 
+    @Override
     protected void preDeleteFrom(Class<?> cls) {
     }
 
+    @Override
     protected void postDeleteFrom(Class<?> cls) {
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
index e7b6e8d..1b1fb17 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
@@ -41,18 +41,18 @@ import org.apache.isis.applib.layout.links.Link;
  */
 @XmlRootElement(
         name = "action"
-)
+        )
 @XmlType(
-    name = "action"
-    , propOrder = {
-        "named"
-        , "describedAs"
-        , "metadataError"
-        , "link"
-    }
-)
+        name = "action"
+        , propOrder = {
+                "named"
+                , "describedAs"
+                , "metadataError"
+                , "link"
+        }
+        )
 public class ActionLayoutData implements Serializable, Owned<ActionLayoutDataOwner>, HasCssClass, HasCssClassFa,
-        HasDescribedAs, HasHidden, HasNamed, HasBookmarking {
+HasDescribedAs, HasHidden, HasNamed, HasBookmarking {
 
     private static final long serialVersionUID = 1L;
 
@@ -232,6 +232,7 @@ public class ActionLayoutData implements Serializable, Owned<ActionLayoutDataOwn
      *     Set programmatically by framework after reading in from XML.
      * </p>
      */
+    @Override
     @XmlTransient
     public ActionLayoutDataOwner getOwner() {
         return owner;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
index 55d7538..40fed23 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
@@ -41,7 +41,7 @@ import org.apache.isis.commons.internal.collections._Lists;
  */
 @XmlRootElement(
         name = "collection"
-)
+        )
 @XmlType(
         name = "collection"
         , propOrder = {
@@ -52,12 +52,12 @@ import org.apache.isis.commons.internal.collections._Lists;
                 , "metadataError"
                 , "link"
         }
-)
+        )
 public class CollectionLayoutData
-        implements MemberRegion<CollectionLayoutDataOwner>,
-                   ActionLayoutDataOwner,
-                   Serializable,
-                   HasCssClass, HasDescribedAs, HasHidden, HasNamed {
+implements MemberRegion<CollectionLayoutDataOwner>,
+ActionLayoutDataOwner,
+Serializable,
+HasCssClass, HasDescribedAs, HasHidden, HasNamed {
 
     private static final long serialVersionUID = 1L;
 
@@ -201,11 +201,13 @@ public class CollectionLayoutData
     private List<ActionLayoutData> actions = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "action", required = false)
     public List<ActionLayoutData> getActions() {
         return actions;
     }
 
+    @Override
     public void setActions(List<ActionLayoutData> actionLayoutDatas) {
         this.actions = actionLayoutDatas;
     }
@@ -220,6 +222,7 @@ public class CollectionLayoutData
      *     Set programmatically by framework after reading in from XML.
      * </p>
      */
+    @Override
     @XmlTransient
     public CollectionLayoutDataOwner getOwner() {
         return owner;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
index 184c98a..2630a05 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
@@ -34,19 +34,19 @@ import org.apache.isis.applib.layout.links.Link;
  */
 @XmlRootElement(
         name = "domainObject"
-)
+        )
 @XmlType(
         name = "domainObject"
         , propOrder = {
-            "named"
-            , "describedAs"
-            , "plural"
-            , "metadataError"
-            , "link"
+                "named"
+                , "describedAs"
+                , "plural"
+                , "metadataError"
+                , "link"
         }
-)
+        )
 public class DomainObjectLayoutData implements Serializable, Owned<DomainObjectLayoutDataOwner>,
-        HasBookmarking, HasCssClass, HasCssClassFa, HasDescribedAs, HasNamed {
+HasBookmarking, HasCssClass, HasCssClassFa, HasDescribedAs, HasNamed {
 
     private static final long serialVersionUID = 1L;
 
@@ -195,6 +195,7 @@ public class DomainObjectLayoutData implements Serializable, Owned<DomainObjectL
      *     Set programmatically by framework after reading in from XML.
      * </p>
      */
+    @Override
     @XmlTransient
     public DomainObjectLayoutDataOwner getOwner() {
         return owner;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
index efb065f..52a90f7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
@@ -38,7 +38,7 @@ import org.apache.isis.commons.internal.collections._Lists;
  */
 @XmlRootElement(
         name = "fieldSet"
-)
+        )
 @XmlType(
         name = "fieldSet"
         , propOrder = {
@@ -47,11 +47,11 @@ import org.apache.isis.commons.internal.collections._Lists;
                 , "properties"
                 , "metadataError"
         }
-)
+        )
 public class FieldSet
-        implements MemberRegion<FieldSetOwner>,
-                   ActionLayoutDataOwner,
-                   Serializable {
+implements MemberRegion<FieldSetOwner>,
+ActionLayoutDataOwner,
+Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -138,11 +138,13 @@ public class FieldSet
     private List<ActionLayoutData> actions = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "action", required = false)
     public List<ActionLayoutData> getActions() {
         return actions;
     }
 
+    @Override
     public void setActions(List<ActionLayoutData> actionLayoutDatas) {
         this.actions = actionLayoutDatas;
     }
@@ -170,6 +172,7 @@ public class FieldSet
      *     Set programmatically by framework after reading in from XML.
      * </p>
      */
+    @Override
     @XmlTransient
     public FieldSetOwner getOwner() {
         return owner;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
index 2203326..606f74e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
@@ -40,7 +40,7 @@ import org.apache.isis.commons.internal.collections._Lists;
  */
 @XmlRootElement(
         name = "property"
-)
+        )
 @XmlType(
         name = "property"
         , propOrder = {
@@ -50,12 +50,12 @@ import org.apache.isis.commons.internal.collections._Lists;
                 , "metadataError"
                 , "link"
         }
-)
+        )
 public class PropertyLayoutData
-        implements ActionLayoutDataOwner,
-                   Serializable,
-                   Owned<FieldSet>,
-                   HasCssClass, HasDescribedAs, HasHidden, HasNamed  {
+implements ActionLayoutDataOwner,
+Serializable,
+Owned<FieldSet>,
+HasCssClass, HasDescribedAs, HasHidden, HasNamed  {
 
     private static final long serialVersionUID = 1L;
 
@@ -255,11 +255,13 @@ public class PropertyLayoutData
     private List<ActionLayoutData> actions = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "action", required = false)
     public List<ActionLayoutData> getActions() {
         return actions;
     }
 
+    @Override
     public void setActions(List<ActionLayoutData> actionLayoutDatas) {
         this.actions = actionLayoutDatas;
     }
@@ -273,6 +275,7 @@ public class PropertyLayoutData
      *     Set programmatically by framework after reading in from XML.
      * </p>
      */
+    @Override
     @XmlTransient
     public FieldSet getOwner() {
         return owner;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
index 446936b..507ae23 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
@@ -39,22 +39,22 @@ import org.apache.isis.applib.layout.links.Link;
  */
 @XmlRootElement(
         name = "serviceAction"
-)
+        )
 @XmlType(
-    name = "serviceAction"
-    , propOrder = {
-        "objectType"
-        , "id"
-        , "named"
-        , "namedEscaped"
-        , "bookmarking"
-        , "cssClass"
-        , "cssClassFa"
-        , "describedAs"
-        , "metadataError"
-        , "link"
-    }
-)
+        name = "serviceAction"
+        , propOrder = {
+                "objectType"
+                , "id"
+                , "named"
+                , "namedEscaped"
+                , "bookmarking"
+                , "cssClass"
+                , "cssClassFa"
+                , "describedAs"
+                , "metadataError"
+                , "link"
+        }
+        )
 public class ServiceActionLayoutData implements Serializable {
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/package-info.java
index 49bcff5..3d98e4c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/package-info.java
@@ -35,5 +35,5 @@
                         namespaceURI = "http://isis.apache.org/applib/layout/component", prefix = "cpt")
         }        // specifying the location seems to cause JaxbService#toXsd() to not generate the schema; not sure why...
         //, location = ..."http://isis.apache.org/schema/metamodel/layout/common/common.xsd"
-)
+        )
 package org.apache.isis.applib.layout.component;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
index cb898ad..7c6dfb7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
@@ -79,12 +79,14 @@ public abstract class GridAbstract implements Grid {
 
     private boolean normalized;
 
+    @Override
     @Programmatic
     @XmlTransient
     public boolean isNormalized() {
         return normalized;
     }
 
+    @Override
     @Programmatic
     public void setNormalized(final boolean normalized) {
         this.normalized = normalized;
@@ -141,11 +143,13 @@ public abstract class GridAbstract implements Grid {
     }
 
 
+    @Override
     @Programmatic
     @XmlTransient
     public LinkedHashMap<String, PropertyLayoutData> getAllPropertiesById() {
         final LinkedHashMap<String, PropertyLayoutData> propertiesById = _Maps.newLinkedHashMap();
         visit(new BS3Grid.VisitorAdapter() {
+            @Override
             public void visit(final PropertyLayoutData propertyLayoutData) {
                 propertiesById.put(propertyLayoutData.getId(), propertyLayoutData);
             }
@@ -154,6 +158,7 @@ public abstract class GridAbstract implements Grid {
     }
 
 
+    @Override
     @Programmatic
     @XmlTransient
     public LinkedHashMap<String, CollectionLayoutData> getAllCollectionsById() {
@@ -169,6 +174,7 @@ public abstract class GridAbstract implements Grid {
     }
 
 
+    @Override
     @Programmatic
     @XmlTransient
     public LinkedHashMap<String, ActionLayoutData> getAllActionsById() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
index 35d04d6..8847cf3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
@@ -19,8 +19,8 @@
 package org.apache.isis.applib.layout.grid.bootstrap3;
 
 public abstract class BS3ClearFix extends BS3RowContent {
-	
-	private static final long serialVersionUID = 1L;
-	
+
+    private static final long serialVersionUID = 1L;
+
     public abstract String toCssClass();
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
index db754de..bcd5422 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
@@ -31,10 +31,10 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlRootElement(
         name = "clearFixHidden"
-)
+        )
 @XmlType(
         name = "clearFixHidden"
-)
+        )
 public class BS3ClearFixHidden extends BS3ClearFix {
 
     private static final long serialVersionUID = 1L;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
index 6516e09..a2349a3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
@@ -32,10 +32,10 @@ import javax.xml.bind.annotation.XmlType;
  */
 @XmlRootElement(
         name = "clearFixVisible"
-)
+        )
 @XmlType(
         name = "clearFixVisible"
-)
+        )
 public class BS3ClearFixVisible extends BS3ClearFix {
 
     private static final long serialVersionUID = 1L;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
index 407d5a8..141549d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
@@ -51,23 +51,23 @@ import org.apache.isis.commons.internal.collections._Lists;
  */
 @XmlRootElement(
         name = "col"
-)
+        )
 @XmlType(
         name = "col"
         , propOrder = {
-            "sizeSpans",
-            "domainObject",
-            "actions",
-            "rows",
-            "tabGroups",
-            "fieldSets",
-            "collections",
-            "metadataError"
+                "sizeSpans",
+                "domainObject",
+                "actions",
+                "rows",
+                "tabGroups",
+                "fieldSets",
+                "collections",
+                "metadataError"
         }
-)
+        )
 public class BS3Col extends BS3RowContent
-        implements ActionLayoutDataOwner, BS3TabGroupOwner, BS3RowOwner, FieldSetOwner, HasCssId,
-        CollectionLayoutDataOwner, DomainObjectLayoutDataOwner {
+implements ActionLayoutDataOwner, BS3TabGroupOwner, BS3RowOwner, FieldSetOwner, HasCssId,
+CollectionLayoutDataOwner, DomainObjectLayoutDataOwner {
 
     private static final long serialVersionUID = 1L;
 
@@ -78,6 +78,7 @@ public class BS3Col extends BS3RowContent
     /**
      * As per &lt;div id=&quot;...&quot;&gt;...&lt;/div&gt; : must be unique across entire page.
      */
+    @Override
     @XmlAttribute(required = false)
     public String getId() {
         return id;
@@ -145,11 +146,13 @@ public class BS3Col extends BS3RowContent
     /**
      * Whether to show the object's icon and title.
      */
+    @Override
     @XmlElementRef(type=DomainObjectLayoutData.class, name="domainObject", required = false)
     public DomainObjectLayoutData getDomainObject() {
         return domainObject;
     }
 
+    @Override
     public void setDomainObject(final DomainObjectLayoutData domainObjectLayoutData) {
         this.domainObject = domainObjectLayoutData;
     }
@@ -172,11 +175,13 @@ public class BS3Col extends BS3RowContent
     private List<ActionLayoutData> actions = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElementRef(type = ActionLayoutData.class, name = "action", required = false)
     public List<ActionLayoutData> getActions() {
         return actions;
     }
 
+    @Override
     public void setActions(final List<ActionLayoutData> actions) {
         this.actions = actions;
     }
@@ -186,6 +191,7 @@ public class BS3Col extends BS3RowContent
     private List<BS3Row> rows = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "row", required = false)
     public List<BS3Row> getRows() {
         return rows;
@@ -200,6 +206,7 @@ public class BS3Col extends BS3RowContent
     private List<BS3TabGroup> tabGroups = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "tabGroup", required = false)
     public List<BS3TabGroup> getTabGroups() {
         return tabGroups;
@@ -214,6 +221,7 @@ public class BS3Col extends BS3RowContent
     private List<FieldSet> fieldSets = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElementRef(type=FieldSet.class, name = "fieldSet", required = false)
     public List<FieldSet> getFieldSets() {
         return fieldSets;
@@ -228,6 +236,7 @@ public class BS3Col extends BS3RowContent
     private List<CollectionLayoutData> collections = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElementRef(type=CollectionLayoutData.class, name = "collection", required = false)
     public List<CollectionLayoutData> getCollections() {
         return collections;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
index 2a3104a..de037fe 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
@@ -24,21 +24,23 @@ import javax.xml.bind.annotation.XmlAttribute;
  * Superclass for all layout classes, factoring out the common {@link #getCssClass()} attribute.
  */
 public abstract class BS3ElementAbstract implements BS3Element {
-	
-	private static final long serialVersionUID = 1L;
 
-	private String cssClass;
+    private static final long serialVersionUID = 1L;
+
+    private String cssClass;
 
     /**
      * Any additional CSS classes to render on the page element corresponding to this object,
      * eg as per the <a href="http://getbootstrap.com/css/#grid-less">Bootstrap mixins</a> or just for
      * custom styling.
      */
+    @Override
     @XmlAttribute(required = false)
     public String getCssClass() {
         return cssClass;
     }
 
+    @Override
     public void setCssClass(final String cssClass) {
         this.cssClass = cssClass;
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
index ac81d2e..9db5cd2 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
@@ -49,14 +49,14 @@ import org.apache.isis.commons.internal.collections._Maps;
  */
 @XmlRootElement(
         name = "grid"
-)
+        )
 @XmlType(
         name = "grid"
         , propOrder = {
-            "rows",
-            "metadataErrors"
+                "rows",
+                "metadataErrors"
         }
-)
+        )
 public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwner {
 
     private static final long serialVersionUID = 1L;
@@ -64,11 +64,13 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
 
     private String cssClass;
 
+    @Override
     @XmlAttribute(required = false)
     public String getCssClass() {
         return cssClass;
     }
 
+    @Override
     public void setCssClass(final String cssClass) {
         this.cssClass = cssClass;
     }
@@ -80,6 +82,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
     private List<BS3Row> rows = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "row", required = true)
     public List<BS3Row> getRows() {
         return rows;
@@ -108,7 +111,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
 
 
     @SuppressWarnings("unused")
-	private BS3RowOwner owner;
+    private BS3RowOwner owner;
 
 
 
@@ -155,6 +158,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
         @Override public void postVisit(final BS3Tab bs3Tab) { }
     }
 
+    @Override
     public void visit(final Grid.Visitor visitor) {
         final BS3Grid.Visitor bs3Visitor = asBs3Visitor(visitor);
         bs3Visitor.preVisit(this);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
index b00b5e9..77b5f70 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
@@ -41,10 +41,10 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "row"
         , propOrder = {
-            "cols"
-            , "metadataError"
+                "cols"
+                , "metadataError"
         }
-)
+        )
 public class BS3Row extends BS3ElementAbstract implements HasCssId, BS3RowContentOwner {
 
     private static final long serialVersionUID = 1L;
@@ -55,6 +55,7 @@ public class BS3Row extends BS3ElementAbstract implements HasCssId, BS3RowConten
     /**
      * As per &lt;div id=&quot;...&quot;&gt;...&lt;/div&gt; : must be unique across entire page.
      */
+    @Override
     @XmlAttribute(required = false)
     public String getId() {
         return id;
@@ -70,9 +71,9 @@ public class BS3Row extends BS3ElementAbstract implements HasCssId, BS3RowConten
 
     // no wrapper
     @XmlElementRefs({
-            @XmlElementRef(type = BS3Col.class, name="col", required = true),
-            @XmlElementRef(type = BS3ClearFixVisible.class,  name="clearFixVisible", required = false),
-            @XmlElementRef(type = BS3ClearFixHidden.class,  name="clearFixHidden", required = false)
+        @XmlElementRef(type = BS3Col.class, name="col", required = true),
+        @XmlElementRef(type = BS3ClearFixVisible.class,  name="clearFixVisible", required = false),
+        @XmlElementRef(type = BS3ClearFixHidden.class,  name="clearFixHidden", required = false)
     })
     public List<BS3RowContent> getCols() {
         return cols;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
index 2a9256f..ec54b10 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
@@ -44,10 +44,10 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "tab"
         , propOrder = {
-            "name",
-            "rows"
+                "name",
+                "rows"
         }
-)
+        )
 public class BS3Tab extends BS3ElementAbstract implements BS3RowOwner {
 
     private static final long serialVersionUID = 1L;
@@ -66,6 +66,7 @@ public class BS3Tab extends BS3ElementAbstract implements BS3RowOwner {
     private List<BS3Row> rows = _Lists.newArrayList();
 
     // no wrapper
+    @Override
     @XmlElement(name = "row", required = true)
     public List<BS3Row> getRows() {
         return rows;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
index 01817cf..9ff4a2c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
@@ -34,10 +34,10 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "tabGroup"
         , propOrder = {
-            "tabs",
-            "metadataError"
+                "tabs",
+                "metadataError"
         }
-)
+        )
 public class BS3TabGroup extends BS3ElementAbstract implements BS3TabOwner {
 
     private static final long serialVersionUID = 1L;
@@ -82,6 +82,7 @@ public class BS3TabGroup extends BS3ElementAbstract implements BS3TabOwner {
     private List<BS3Tab> tabs = _Lists.newArrayList();
 
     // no wrapper; required=false because may be auto-generated
+    @Override
     @XmlElement(name = "tab", required = false)
     public List<BS3Tab> getTabs() {
         return tabs;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
index 29fefa1..813c41c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
@@ -29,7 +29,7 @@ import javax.xml.bind.annotation.XmlType;
 @XmlType(
         name = "sizeSpan"
         , propOrder = {}
-)
+        )
 public class SizeSpan implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -94,10 +94,10 @@ public class SizeSpan implements Serializable {
             buf.append(" ");
         }
         buf.append("col-")
-           .append(size.toCssClassFragment())
-           .append("-")
-           .append(offset != null && offset ? "offset-": "")
-           .append(span);
+        .append(size.toCssClassFragment())
+        .append("-")
+        .append(offset != null && offset ? "offset-": "")
+        .append(span);
         return buf;
     }
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java b/core/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
index db13ad2..025e550 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
@@ -26,14 +26,14 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
 @XmlType(
-    name = "link"
-    , propOrder = {
-        "rel"
-        , "method"
-        , "href"
-        , "type"
-    }
-)
+        name = "link"
+        , propOrder = {
+                "rel"
+                , "method"
+                , "href"
+                , "type"
+        }
+        )
 @XmlAccessorType(XmlAccessType.FIELD)
 public class Link implements Serializable {
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/links/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/layout/links/package-info.java
index b61def6..c6487a6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/links/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/links/package-info.java
@@ -33,6 +33,6 @@
         xmlns = {
                 @javax.xml.bind.annotation.XmlNs(
                         namespaceURI = "http://isis.apache.org/applib/layout/links", prefix = "lnk")
-}
-)
+        }
+        )
 package org.apache.isis.applib.layout.links;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
index f426bd4..a06c368 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
@@ -30,26 +30,30 @@ import org.apache.isis.commons.internal.collections._Maps;
 @XmlTransient // ignore this class
 public abstract class MenuBarsAbstract implements MenuBars, Serializable {
 
-	private static final long serialVersionUID = 1L;
-	
+    private static final long serialVersionUID = 1L;
+
     private String tnsAndSchemaLocation;
 
+    @Override
     @Programmatic
     @XmlTransient
     public String getTnsAndSchemaLocation() {
         return tnsAndSchemaLocation;
     }
 
+    @Override
     @Programmatic
     public void setTnsAndSchemaLocation(final String tnsAndSchemaLocation) {
         this.tnsAndSchemaLocation = tnsAndSchemaLocation;
     }
 
+    @Override
     @Programmatic
     @XmlTransient
     public LinkedHashMap<String, ServiceActionLayoutData> getAllServiceActionsByObjectTypeAndId() {
         final LinkedHashMap<String, ServiceActionLayoutData> serviceActionsByObjectTypeAndId = _Maps.newLinkedHashMap();
         visit(new MenuBars.Visitor() {
+            @Override
             public void visit(final ServiceActionLayoutData serviceActionLayoutData) {
                 serviceActionsByObjectTypeAndId.put(serviceActionLayoutData.getObjectTypeAndId(), serviceActionLayoutData);
             }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
index efbe2c3..01dea5d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
@@ -35,11 +35,11 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "menu"
         , propOrder = {
-            "named",
-            "cssClassFa",
-            "sections"
+                "named",
+                "cssClassFa",
+                "sections"
         }
-)
+        )
 public class BS3Menu implements Menu, Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -54,6 +54,7 @@ public class BS3Menu implements Menu, Serializable {
 
     private String named;
 
+    @Override
     @XmlElement(required = true)
     public String getNamed() {
         return named;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
index a97ecc0..c46e29f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
@@ -34,9 +34,9 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "menuBar"
         , propOrder = {
-            "menus"
+                "menus"
         }
-)
+        )
 public class BS3MenuBar implements MenuBar, Serializable {
 
     private static final long serialVersionUID = 1L;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
index 8361b06..099b695 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
@@ -34,16 +34,16 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
  */
 @XmlRootElement(
         name = "menuBars"
-)
+        )
 @XmlType(
         name = "menuBars"
         , propOrder = {
-            "primary",
-            "secondary",
-            "tertiary",
-            "metadataError"
+                "primary",
+                "secondary",
+                "tertiary",
+                "metadataError"
         }
-)
+        )
 public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBarsAbstract {
 
     private static final long serialVersionUID = 1L;
@@ -81,6 +81,7 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
         this.tertiary = tertiary;
     }
 
+    @Override
     public BS3MenuBar menuBarFor(final DomainServiceLayout.MenuBar menuBar) {
         switch (menuBar) {
         case PRIMARY:
@@ -89,10 +90,10 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
             return getSecondary();
         case TERTIARY:
             return getTertiary();
-		case NOT_SPECIFIED:
-			break;
-		default:
-			throw _Exceptions.unmatchedCase(menuBar);
+        case NOT_SPECIFIED:
+            break;
+        default:
+            throw _Exceptions.unmatchedCase(menuBar);
         }
         return null;
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
index fbddc6c..451805d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
@@ -35,9 +35,9 @@ import org.apache.isis.commons.internal.collections._Lists;
 @XmlType(
         name = "section"
         , propOrder = {
-            "serviceActions"
+                "serviceActions"
         }
-)
+        )
 public class BS3MenuSection implements MenuSection, Serializable, ServiceActionLayoutDataOwner {
 
     private static final long serialVersionUID = 1L;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/package-info.java
index 5e67e78..a3ea1b7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/package-info.java
@@ -33,6 +33,6 @@
         xmlns = {
                 @javax.xml.bind.annotation.XmlNs(
                         namespaceURI = "http://isis.apache.org/applib/layout/menubars/bootstrap3", prefix = "mb3")
-}
-)
+        }
+        )
 package org.apache.isis.applib.layout.menubars.bootstrap3;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/DtoMappingHelper.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/DtoMappingHelper.java
index c3acd22..6bafe2e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/DtoMappingHelper.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/DtoMappingHelper.java
@@ -58,9 +58,9 @@ public class DtoMappingHelper {
         case VIEW_MODEL:
             return BookmarkObjectState.VIEW_MODEL;
         default:
-        	throw _Exceptions.unmatchedCase("objectState '%s' not recognized", bookmark.getObjectState());	
+            throw _Exceptions.unmatchedCase("objectState '%s' not recognized", bookmark.getObjectState());
         }
-        
+
     }
 
     @Inject
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
index 5373ab4..8e01783 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
@@ -36,20 +36,20 @@ public class Dto_downloadXml {
         this.dto = dto;
     }
 
-    public static class ActionDomainEvent 
+    public static class ActionDomainEvent
     extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Dto_downloadXml> {
-    	private static final long serialVersionUID = 1L; 
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = ActionDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-download"
-    )
+            )
     @MemberOrder(sequence = "500.1")
     public Object act(
             @ParameterLayout(named = "File name")
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
index 4f66515..6f54bff 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
@@ -56,20 +56,20 @@ public class Dto_downloadXsd {
         }
     }
 
-    public static class ActionDomainEvent 
+    public static class ActionDomainEvent
     extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Dto_downloadXsd> {
-    	private static final long serialVersionUID = 1L; 
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = ActionDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-download"
-    )
+            )
     @MemberOrder(sequence = "500.2")
     public Object act(
             @ParameterLayout(named = "File name")
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
index 6e7f8a1..d08f6e6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
@@ -30,40 +30,40 @@ import org.apache.isis.commons.internal.base._Strings;
 
 @Mixin(method="act")
 public class Object_downloadLayoutXml {
-	
+
     private final Object object;
 
     public Object_downloadLayoutXml(final Object object) {
         this.object = object;
     }
 
-    public static class ActionDomainEvent 
+    public static class ActionDomainEvent
     extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_downloadLayoutXml> {
-    	private static final long serialVersionUID = 1L;
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = ActionDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-download",
             position = ActionLayout.Position.PANEL_DROPDOWN
-    )
+            )
     @MemberOrder(name = "datanucleusIdLong", sequence = "700.1")
     public Object act(
             @ParameterLayout(named = "File name")
             final String fileName,
             final LayoutService.Style style) {
-    	
+
         final String xml = layoutService.toXml(object.getClass(), style);
-        
+
         return new Clob(
-        		_Strings.asFileNameWithExtension(fileName, style.name().toLowerCase() + ".xml"), 
-        		"text/xml", 
-        		xml);
+                _Strings.asFileNameWithExtension(fileName, style.name().toLowerCase() + ".xml"),
+                "text/xml",
+                xml);
     }
 
     public String default0Act() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
index 93782b6..9eb8f48 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
@@ -38,35 +38,35 @@ public class Object_openRestApi {
         this.object = object;
     }
 
-    public static class ActionDomainEvent 
+    public static class ActionDomainEvent
     extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_openRestApi> {
-    	private static final long serialVersionUID = 1L;
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = ActionDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-external-link",
             position = ActionLayout.Position.PANEL_DROPDOWN
-    )
+            )
     @MemberOrder(name = "datanucleusIdLong", sequence = "750.1")
     public LocalResourcePath act() {
         Bookmark bookmark = bookmarkService.bookmarkFor(object);
-        
+
         return new LocalResourcePath(String.format(
                 "/%s/objects/%s/%s",
-            	_Resource.getRestfulPathIfAny(),
+                _Resource.getRestfulPathIfAny(),
                 bookmark.getObjectType(),
                 bookmark.getIdentifier()));
     }
 
     @javax.inject.Inject
     BookmarkService bookmarkService;
-    
+
     @javax.inject.Inject
     SwaggerService swaggerService;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
index 0db5dc0..e01b6a9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
@@ -35,9 +35,9 @@ public class Object_rebuildMetamodel {
         this.object = object;
     }
 
-    public static class ActionDomainEvent 
+    public static class ActionDomainEvent
     extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_rebuildMetamodel> {
-    	private static final long serialVersionUID = 1L;
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
@@ -45,12 +45,12 @@ public class Object_rebuildMetamodel {
             semantics = SemanticsOf.IDEMPOTENT,
             commandPersistence = CommandPersistence.NOT_PERSISTED,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-refresh",
             position = ActionLayout.Position.PANEL_DROPDOWN
-    )
+            )
     @MemberOrder(name = "datanucleusIdLong", sequence = "800.1")
     public void act() {
         metaModelService.rebuild(object.getClass());
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedAt.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedAt.java
index 1b669e1..f7366f6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedAt.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedAt.java
@@ -20,4 +20,4 @@ public interface HoldsUpdatedAt {
 
     void setUpdatedAt(java.sql.Timestamp updatedAt);
 
-}    
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedBy.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedBy.java
index 2097e39..80fd8c0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedBy.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedBy.java
@@ -20,4 +20,4 @@ public interface HoldsUpdatedBy {
 
     void setUpdatedBy(String updatedBy);
 
-}    
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/package-info.java
index b9b33f2..8a75182 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/package-info.java
@@ -19,15 +19,15 @@
 
 /**
  * The application library defines the annotations, interfaces and
- * supporting utilities that are part of the overall Apache Isis 
- * Programming Model. 
- * 
+ * supporting utilities that are part of the overall Apache Isis
+ * Programming Model.
+ *
  * <p>
  * This package contains adapter classes which can optionally be used for
  * {@link org.apache.isis.applib.AbstractDomainObject entities}, for
  * {@link org.apache.isis.applib.AbstractService domain services} and for
  * {@link org.apache.isis.applib.AbstractFactoryAndRepository repositories}.
- * 
+ *
  * <p>
  * In addition, it contains a {@link org.apache.isis.applib.Identifier class}
  * that represents the identifier of an object or object member, used for
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/Query.java b/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
index 78a07e4..c8ecc6e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/Query.java
@@ -27,22 +27,22 @@ import org.apache.isis.applib.services.repository.RepositoryService;
 
 /**
  * For use by repository implementations, representing the values of a query.
- * 
+ *
  * <p>
  * The implementations of these objects are be provided by the underlying
  * persistor/object store; consult its documentation.
  * <p>
- * Implementations are expected to implement the {@link #getStart()} and 
+ * Implementations are expected to implement the {@link #getStart()} and
  * {@link #getCount()} methods, which are used to support range / paging
  * the data. Returned result sets are expected to start from index "start",
- * and no more than "count" items are expected. 
+ * and no more than "count" items are expected.
  * <p>
  * <b>Note:</b> that not every object store will necessarily support this
  * interface. In particular, the in-memory object store does not. For this, you
  * can use the {@link Predicate} interface to similar effect, for example in
- * {@link RepositoryService#allMatches(Class, Predicate, long...)}). 
- * 
- * Note that the predicate is applied within the {@link RepositoryService} 
+ * {@link RepositoryService#allMatches(Class, Predicate, long...)}).
+ *
+ * Note that the predicate is applied within the {@link RepositoryService}
  * (ie client-side) rather than being pushed back to the object store.
  */
 public interface Query<T> extends Serializable {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
index b0f0331..5455722 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryAbstract.java
@@ -23,7 +23,7 @@ import org.apache.isis.commons.internal.context._Context;
 
 /**
  * Convenience adapter class for {@link Query}.
- * 
+ *
  * <p>
  * Handles implementation of {@link #getResultType()}
  */
@@ -42,8 +42,8 @@ public abstract class QueryAbstract<T> implements Query<T> {
 
 
     /**
-     * Base query based on Class type. 
-     * 
+     * Base query based on Class type.
+     *
      * @param type
      * @param range optional start and count of the range of dataset. 0
      */
@@ -85,6 +85,7 @@ public abstract class QueryAbstract<T> implements Query<T> {
      * The start index into the set table
      * @return
      */
+    @Override
     public long getStart() {
         return start;
     }
@@ -94,6 +95,7 @@ public abstract class QueryAbstract<T> implements Query<T> {
      * The number of items to return, starting at {@link QueryFindAllPaged#getStart()}
      * @return
      */
+    @Override
     public long getCount() {
         return count;
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryDefault.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryDefault.java
index 530de0b..c04abd3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryDefault.java
@@ -112,7 +112,7 @@ public class QueryDefault<T> extends QueryAbstract<T> {
         this.count = count;
         return this;
     }
-    
+
     @Override
     public String getDescription() {
         return getQueryName() + " with " + getArgumentsByParameterName();
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java b/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
index 1d09672..45b4946 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java
@@ -26,7 +26,7 @@ import java.io.Serializable;
  * Although implements {@link Query} and thus is intended to be (and indeed is)
  * {@link Serializable}, it will be converted into a <tt>PersistenceQuery</tt>
  * in the runtime for remoting purposes.
- * 
+ *
  * <p>
  * See discussion in {@link QueryBuiltInAbstract} for further details.
  */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/query/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/query/package-info.java
index 057d127..9dfdb5c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/query/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/query/package-info.java
@@ -20,10 +20,10 @@
 /**
  * This package defines the {@link org.apache.isis.applib.query.Query} interface
  * and supporting implementations.
- * 
+ *
  * <p>
  * The {@link org.apache.isis.applib.query.Query} concept is provided as a
- * standardized mechanism by which 
+ * standardized mechanism by which
  * {@link org.apache.isis.applib.AbstractFactoryAndRepository repositories}
  * or indeed any {@link org.apache.isis.applib.AbstractDomainObject domain object}
  * can submit.  Object store implementation are generally expected to support
diff --git a/core/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java b/core/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
index 15dcefe..7b26047 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
@@ -56,14 +56,14 @@ public final class UserMemento {
         this.name = name;
         this.roles.addAll(roles);
     }
-    
+
 
     // -- title
     public String title() {
         return name;
     }
 
-    
+
 
     // -- name, NameType
 
@@ -92,14 +92,14 @@ public final class UserMemento {
 
     }
 
-    
+
 
     // -- isCurrentUser
     /**
      * Determine if the specified name is this user.
-     * 
+     *
      * <p>
-     * 
+     *
      * @return true if the names match (is case sensitive).
      */
     public boolean isCurrentUser(final String userName) {
@@ -109,7 +109,7 @@ public final class UserMemento {
         return name.equals(userName);
     }
 
-    
+
 
     // -- roles
     private final List<RoleMemento> roles = new ArrayList<RoleMemento>();
@@ -124,8 +124,8 @@ public final class UserMemento {
 
     /**
      * Determines if the user fulfills the specified role.
-     *  
-     * @param role  the role to search for, regular expressions are allowed 
+     *
+     * @param role  the role to search for, regular expressions are allowed
      */
     public boolean hasRole(final RoleMemento role) {
         return hasRole(role.getName());
@@ -144,7 +144,7 @@ public final class UserMemento {
         return false;
     }
 
-    
+
 
     // -- toString
     @Override
@@ -156,6 +156,6 @@ public final class UserMemento {
         return "User [name=" + getName() + ",roles=" + buf.toString() + "]";
     }
 
-    
+
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/security/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/security/package-info.java
index d604694..23fc47e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/security/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/security/package-info.java
@@ -18,19 +18,19 @@
  */
 
 /**
- * This package defines types that represent the 
+ * This package defines types that represent the
  * currently logged-in {@link org.apache.isis.applib.security.UserMemento user}
  * and their {@link org.apache.isis.applib.security.RoleMemento role}s.
- * 
+ *
  * <p>
  * Typically domain objects do not need to have any knowledge of <i>who</i>
  * is using them, because authorization is provided declaratively by the
  * framework and is type-based.  However, there are occasions; for example,
  * only an <tt>Employee</tt> and his superiors might be allowed to view their salary.
- * 
+ *
  * <p>
  * The types are suffixed &quot;Memento&quot; because they snapshot the user
- * and roles at the time that the user logs in, but are not updated after that 
+ * and roles at the time that the user logs in, but are not updated after that
  * point.
  */
 package org.apache.isis.applib.security;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java b/core/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
index 15b617f..0dc79d1 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
@@ -17,9 +17,9 @@
 package org.apache.isis.applib.services;
 
 /**
- * Mix-in interface for objects (usually created by service implementations) that are be persistable, 
+ * Mix-in interface for objects (usually created by service implementations) that are be persistable,
  * and so can be associated with a username, usually of the user that has performed some operation.
- * 
+ *
  * <p>
  * Other services can then use this username as a means to contributed actions/collections to render such additional
  * information relating to the activities of the user.
@@ -28,4 +28,4 @@ public interface HasUsername {
 
     public String getUsername();
 
-}    
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/ActionInvocationContext.java b/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/ActionInvocationContext.java
index 2f6cb58..056f24e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/ActionInvocationContext.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/ActionInvocationContext.java
@@ -44,7 +44,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 @RequestScoped
 public class ActionInvocationContext {
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
index a2d0fe8..19a1ece 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
@@ -34,7 +34,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class AuditerServiceLogging implements AuditerService {
 
     private static final Logger LOG = LoggerFactory.getLogger(AuditerServiceLogging.class);
@@ -59,7 +59,7 @@ public class AuditerServiceLogging implements AuditerService {
 
         String auditMessage =
                 interactionId + "," + sequence + ": " +
-                target.toString() + " by " + user + ", " + propertyName + ": " + preValue + " -> " + postValue;
+                        target.toString() + " by " + user + ", " + propertyName + ": " + preValue + " -> " + postValue;
         LOG.debug(auditMessage);
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService.java b/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService.java
index c086d2b..f91fa5a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService.java
@@ -37,8 +37,8 @@ import org.apache.isis.schema.cmd.v1.CommandDto;
  *
  */
 public interface BackgroundCommandService {
-	
-	public void schedule(
+
+    public void schedule(
             final CommandDto dto,
             final Command parentCommand,
             final String targetClassName,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java b/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java
index f22af39..f53f4b2 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java
@@ -20,7 +20,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 
 /**
  * Submit actions to be invoked in the background.
- * 
+ *
  * <p>
  * Example usage:
  * <pre>
@@ -29,7 +29,7 @@ import org.apache.isis.applib.annotation.Programmatic;
  *         backgroundService.execute(customer).submitInvoice();
  *     }
  * }
- * 
+ *
  * &#64;javax.inject.Inject
  * private BackgroundService backgroundService;
  * </pre>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
index b742e4a..1c2c612 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
@@ -29,7 +29,7 @@ import org.apache.isis.schema.common.v1.OidDto;
 
 /**
  * String representation of any persistent object managed by the framework.
- * 
+ *
  * <p>
  * Analogous to the <tt>RootOid</tt>.
  */
@@ -119,7 +119,7 @@ public class Bookmark implements Serializable {
             case PERSISTENT:
                 return ObjectState.PERSISTENT;
             default:
-            	throw _Exceptions.unmatchedCase(objectState);
+                throw _Exceptions.unmatchedCase(objectState);
             }
         }
 
@@ -157,13 +157,13 @@ public class Bookmark implements Serializable {
     public String getObjectType() {
         return objectType;
     }
-    
+
     public String getIdentifier() {
         return identifier;
     }
-    
-    
-    
+
+
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -197,7 +197,7 @@ public class Bookmark implements Serializable {
 
     /**
      * The canonical form of the {@link Bookmark}, that is &quot;{@link #getObjectType() objectType}{@value #SEPARATOR}{@link #getIdentifier()}&quot;.
-     * 
+     *
      * <p>
      * This is parseable by the {@link #Bookmark(String) string constructor}.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
index 43727fe..a1e2bd6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
@@ -39,11 +39,11 @@ public class BookmarkHolder_lookup {
     @Action(
             domainEvent = ActionDomainEvent.class,
             semantics = SemanticsOf.SAFE
-    )
+            )
     @ActionLayout(
             contributed = Contributed.AS_ACTION,
             cssClassFa = "fa-bookmark"
-    )
+            )
     public Object act() {
         return bookmarkService.lookup(bookmarkHolder);
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
index 6941ff4..0d58834 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
@@ -39,10 +39,10 @@ public class BookmarkHolder_object {
     @Action(
             semantics = SemanticsOf.SAFE,
             domainEvent = BookmarkHolder_object.ActionDomainEvent.class
-    )
+            )
     @ActionLayout(
-        contributed = Contributed.AS_ASSOCIATION
-    )
+            contributed = Contributed.AS_ASSOCIATION
+            )
     public Object prop() {
         return bookmarkService.lookup(bookmarkHolder);
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
index 6516d14..cd09e32 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
@@ -41,34 +41,34 @@ import org.apache.isis.core.plugins.classdiscovery.ClassDiscoveryPlugin;
  * </p>
  */
 @DomainService(
-		nature = NatureOfService.DOMAIN,
-		menuOrder = "" + Integer.MAX_VALUE
-		)
+        nature = NatureOfService.DOMAIN,
+        menuOrder = "" + Integer.MAX_VALUE
+        )
 public class ClassDiscoveryServiceDefault
-extends AbstractService 
+extends AbstractService
 implements ClassDiscoveryService {
 
-	@Programmatic
-	@Override
-	public <T> Set<Class<? extends T>> findSubTypesOfClasses(Class<T> type, String packageNamePrefix) {
+    @Programmatic
+    @Override
+    public <T> Set<Class<? extends T>> findSubTypesOfClasses(Class<T> type, String packageNamePrefix) {
 
-		if(type == FixtureScript.class) {
-			return getFixtureScriptTypes();
-		}
+        if(type == FixtureScript.class) {
+            return getFixtureScriptTypes();
+        }
 
-		// no appManifest or not asking for FixtureScripts
-		return ClassDiscoveryPlugin.get().discoverFullscan(packageNamePrefix).getSubTypesOf(type);
-	}
+        // no appManifest or not asking for FixtureScripts
+        return ClassDiscoveryPlugin.get().discoverFullscan(packageNamePrefix).getSubTypesOf(type);
+    }
 
-	// -- HELPER
+    // -- HELPER
 
-	private static <T> Set<Class<? extends T>> getFixtureScriptTypes() {
-		Set<?> fixtureScriptTypes = AppManifest.Registry.instance().getFixtureScriptTypes();
-		if (fixtureScriptTypes != null) {
-			return _Casts.uncheckedCast(fixtureScriptTypes);
-		}
-		return Collections.emptySet();
-	}
+    private static <T> Set<Class<? extends T>> getFixtureScriptTypes() {
+        Set<?> fixtureScriptTypes = AppManifest.Registry.instance().getFixtureScriptTypes();
+        if (fixtureScriptTypes != null) {
+            return _Casts.uncheckedCast(fixtureScriptTypes);
+        }
+        return Collections.emptySet();
+    }
 
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java b/core/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
index 5646840..11dd223 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
@@ -37,9 +37,9 @@ import org.apache.isis.applib.clock.Clock;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class ClockService {
-    
+
     @Programmatic
     public LocalDate now() {
         return Clock.getTimeAsLocalDate();
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
index 8332a33..3b4a60a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
@@ -79,12 +79,12 @@ public interface Command extends HasTransactionId {
     String getUser();
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the Isis PersistenceSession is opened.
      */
     void setUser(String user);
-    
+
 
     // -- timestamp (property)
 
@@ -94,32 +94,32 @@ public interface Command extends HasTransactionId {
     Timestamp getTimestamp();
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the Isis PersistenceSession is opened.  Uses the applib {@link Clock}.
      */
     void setTimestamp(Timestamp timestamp);
 
-    
+
 
     // -- target (property)
 
     /**
      * {@link Bookmark} of the target object (entity or service) on which this action was performed.
-     * 
+     *
      * <p>
      * Will only be populated if a {@link BookmarkService} has been configured.
      */
     Bookmark getTarget();
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in the ActionInvocationFacet).
      */
     void setTarget(Bookmark target);
 
-    
+
 
     // -- memberIdentifier (property)
 
@@ -131,14 +131,14 @@ public interface Command extends HasTransactionId {
 
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in <tt>ActionInvocationFacet</tt>) or in
      * property edited (in <tt>PropertySetterFacet</tt>).
      */
     void setMemberIdentifier(String memberIdentifier);
 
-    
+
 
     // -- targetClass (property)
 
@@ -149,13 +149,13 @@ public interface Command extends HasTransactionId {
 
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in the <tt>ActionInvocationFacet</t>).
      */
     void setTargetClass(String targetClass);
 
-    
+
 
     // -- targetAction (property)
 
@@ -167,17 +167,17 @@ public interface Command extends HasTransactionId {
      * </p>
      */
     String getTargetAction();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in the <tt>ActionInvocationFacet</tt>) or property edited
      * (in the <tt>PropertySetterOrClearFacet</tt>).
      */
     void setTargetAction(String targetAction);
 
-    
+
 
     // -- arguments (property)
 
@@ -185,16 +185,16 @@ public interface Command extends HasTransactionId {
      * A human-friendly description of the arguments with which the action was invoked.
      */
     String getArguments();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in the <tt>ActionInvocationFacet</tt>).
      */
     void setArguments(final String arguments);
 
-    
+
 
     // -- memento (property)
 
@@ -202,26 +202,26 @@ public interface Command extends HasTransactionId {
      * A formal (XML or similar) specification of the action to invoke/being invoked.
      */
     String getMemento();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
-     * 
+     *
      * <p>
      * Implementation notes: set when the action is invoked (in the <tt>ActionInvocationFacet</tt>).
      */
     void setMemento(final String memento);
 
-    
+
 
     // -- executeIn (property)
 
     /**
-     * The mechanism by which this command is to be executed, either synchronously &quot;in the 
+     * The mechanism by which this command is to be executed, either synchronously &quot;in the
      * {@link CommandExecuteIn#FOREGROUND foreground}&quot; or is to be executed asynchronously &quot;in the
      * {@link CommandExecuteIn#BACKGROUND background}&quot; through the {@link BackgroundCommandService}.
      */
     CommandExecuteIn getExecuteIn();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
@@ -255,7 +255,7 @@ public interface Command extends HasTransactionId {
     @Programmatic
     List<ActionDomainEvent<?>> flushActionDomainEvents();
 
-    
+
 
     // -- executor (property)
 
@@ -276,12 +276,12 @@ public interface Command extends HasTransactionId {
 
     /**
      * The (current) executor of this command.
-     * 
+     *
      * <p>
      * Note that (even for implementations of {@link BackgroundCommandService} that persist {@link Command}s), this
      * property is never (likely to be) persisted, because it is always updated to indicate how the command is
      * currently being executed.
-     * 
+     *
      * <p>
      * If the {@link #getExecutor() executor} matches the required {@link #getExecuteIn() execution policy}, then the
      * command actually is executed.  The combinations are:
@@ -291,17 +291,17 @@ public interface Command extends HasTransactionId {
      * <li>executor = BACKGROUND, executeIn = FOREGROUND, then ignore</li>
      * <li>executor = BACKGROUND, executeIn = BACKGROUND, then execute, update the command with result</li>
      * </ul>
-     * 
+     *
      */
     Executor getExecutor();
 
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
     void setExecutor(final Executor executor);
 
-    
+
 
     // -- startedAt (property)
 
@@ -319,7 +319,7 @@ public interface Command extends HasTransactionId {
      * {@link Interaction.Execution#getStartedAt()}.
      */
     Timestamp getStartedAt();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      *
@@ -335,7 +335,7 @@ public interface Command extends HasTransactionId {
      */
     void setStartedAt(Timestamp startedAt);
 
-    
+
 
     // -- completedAt (property, deprecated)
 
@@ -353,7 +353,7 @@ public interface Command extends HasTransactionId {
      * {@link Interaction.Execution#getCompletedAt()}.
      */
     Timestamp getCompletedAt();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      *
@@ -368,7 +368,7 @@ public interface Command extends HasTransactionId {
      */
     void setCompletedAt(Timestamp completedAt);
 
-    
+
 
     // -- parent (property)
 
@@ -383,7 +383,7 @@ public interface Command extends HasTransactionId {
      */
     void setParent(final Command parent);
 
-    
+
 
     // -- exception (property, deprecated)
 
@@ -406,7 +406,7 @@ public interface Command extends HasTransactionId {
      */
     void setException(String stackTrace);
 
-    
+
 
     // -- result (property, deprecated)
 
@@ -423,46 +423,46 @@ public interface Command extends HasTransactionId {
      * See also  {@link Interaction#getCurrentExecution()} and  {@link org.apache.isis.applib.services.iactn.Interaction.Execution#getReturned()}.
      */
     Bookmark getResult();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
     void setResult(Bookmark resultBookmark);
 
-    
+
 
     // -- persistence (property)
 
     /**
      * Whether this command should ultimately be persisted (if the configured {@link BackgroundCommandService} supports
      * it) or not.
-     * 
+     *
      * <p>
      * If the action to be executed has been annotated with the {@link Action#command()} attribute
      * then (unless its {@link Action#commandPersistence()} persistence} attribute has been set to a different value
      * than its default of {@link org.apache.isis.applib.annotation.CommandPersistence#PERSISTED persisted}), the
      * {@link Command} object will be persisted.
-     * 
+     *
      * <p>
      * However, it is possible to prevent the {@link Command} object from ever being persisted by setting the
      * {@link org.apache.isis.applib.annotation.Action#commandPersistence() persistence} attribute to
      * {@link org.apache.isis.applib.annotation.CommandPersistence#NOT_PERSISTED}, or it can be set to
      * {@link org.apache.isis.applib.annotation.CommandPersistence#IF_HINTED}, meaning it is dependent
-     * on whether {@link #setPersistHint(boolean) a hint has been set} by some other means.  
+     * on whether {@link #setPersistHint(boolean) a hint has been set} by some other means.
      *
      * <p>
-     * For example, a {@link BackgroundCommandService} implementation that creates persisted background commands ought 
+     * For example, a {@link BackgroundCommandService} implementation that creates persisted background commands ought
      * associate them (via its {@link Command#getParent() parent}) to an original persisted
      * {@link Command}.  The hinting mechanism allows the service to suggest that the parent command be persisted so
      * that the app can then provide a mechanism to find all child background commands for that original parent command.
      */
     CommandPersistence getPersistence();
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
     void setPersistence(final CommandPersistence persistence);
-    
+
 
     // -- persistHint (programmatic)
 
@@ -472,18 +472,18 @@ public interface Command extends HasTransactionId {
      */
     @Programmatic
     boolean isPersistHint();
-    
+
     /**
      * Hint that this {@link Command} should be persisted, if possible.
-     * 
+     *
      * <p>
-     * <b>NOT API</b>: intended to be called only by the framework.  
-     * 
+     * <b>NOT API</b>: intended to be called only by the framework.
+     *
      * @see #getPersistence()
      */
     @Programmatic
     void setPersistHint(boolean persistHint);
-    
+
 
     // -- next (programmatic, deprecated)
 
@@ -496,6 +496,6 @@ public interface Command extends HasTransactionId {
     @Programmatic
     int next(final String sequenceAbbr);
 
-    
+
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandContext.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandContext.java
index 5f4152f..1ae1719 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandContext.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandContext.java
@@ -35,7 +35,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 @RequestScoped
 public class CommandContext {
 
@@ -48,7 +48,7 @@ public class CommandContext {
     public Command getCommand() {
         return command;
     }
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
index f89a3bc..de41db3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
@@ -42,11 +42,12 @@ public class CommandDefault implements Command {
         setExecutor(Executor.OTHER);
     }
 
-    
+
 
     // -- actionIdentifier (property)
 
     private String actionIdentifier;
+    @Override
     public String getMemberIdentifier() {
         return actionIdentifier;
     }
@@ -56,11 +57,12 @@ public class CommandDefault implements Command {
         this.actionIdentifier = actionIdentifier;
     }
 
-    
+
 
     // -- targetClass (property)
 
     private String targetClass;
+    @Override
     public String getTargetClass() {
         return targetClass;
     }
@@ -70,40 +72,42 @@ public class CommandDefault implements Command {
         this.targetClass = targetClass;
     }
 
-    
+
 
     // -- targetAction (property)
 
     private String targetAction;
+    @Override
     public String getTargetAction() {
         return targetAction;
     }
-    
+
     @Override
     public void setTargetAction(String targetAction) {
         this.targetAction = targetAction;
     }
 
-    
+
 
     // -- arguments (property)
 
     private String arguments;
+    @Override
     public String getArguments() {
         return arguments;
     }
-    
+
     @Override
     public void setArguments(String arguments) {
         this.arguments = arguments;
     }
-    
-    
+
+
 
     // -- memento (property)
 
     private String memento;
-    
+
     @Override
     public String getMemento() {
         return memento;
@@ -112,12 +116,13 @@ public class CommandDefault implements Command {
     public void setMemento(String memento) {
         this.memento = memento;
     }
-    
-    
+
+
 
     // -- target (property)
 
     private Bookmark target;
+    @Override
     public Bookmark getTarget() {
         return target;
     }
@@ -126,11 +131,12 @@ public class CommandDefault implements Command {
         this.target = target;
     }
 
-    
+
 
     // -- timestamp (property)
 
     private Timestamp timestamp;
+    @Override
     public Timestamp getTimestamp() {
         return timestamp;
     }
@@ -140,7 +146,7 @@ public class CommandDefault implements Command {
         this.timestamp = timestamp;
     }
 
-    
+
 
     // -- startedAt (property)
 
@@ -154,7 +160,7 @@ public class CommandDefault implements Command {
         this.startedAt = startedAt;
     }
 
-    
+
 
     // -- completedAt (property)
 
@@ -170,11 +176,12 @@ public class CommandDefault implements Command {
         this.completedAt = completed;
     }
 
-    
+
 
     // -- user (property)
 
     private String user;
+    @Override
     public String getUser() {
         return user;
     }
@@ -184,7 +191,7 @@ public class CommandDefault implements Command {
         this.user = user;
     }
 
-    
+
 
     // -- actionDomainEvent (peek/pop/flush)
 
@@ -208,6 +215,7 @@ public class CommandDefault implements Command {
         return !actionDomainEvents.isEmpty() ? actionDomainEvents.removeLast() : null;
     }
 
+    @Override
     @Programmatic
     public List<ActionDomainEvent<?>> flushActionDomainEvents() {
         final List<ActionDomainEvent<?>> events =
@@ -216,12 +224,12 @@ public class CommandDefault implements Command {
         return events;
     }
 
-    
+
 
     // -- executor (property)
 
     private Executor executor;
-    
+
     @Override
     public Executor getExecutor() {
         return executor;
@@ -235,7 +243,7 @@ public class CommandDefault implements Command {
         this.executor = nature;
     }
 
-    
+
 
     // -- executionType (property)
 
@@ -255,12 +263,12 @@ public class CommandDefault implements Command {
     }
 
 
-    
+
 
     // -- parent (property)
 
     private Command parent;
-    
+
     @Override
     public Command getParent() {
         return parent;
@@ -271,13 +279,13 @@ public class CommandDefault implements Command {
         this.parent = parent;
     }
 
-    
-    
+
+
 
     // -- result (property)
 
     private Bookmark result;
-    
+
     @Override
     public Bookmark getResult() {
         return result;
@@ -287,12 +295,12 @@ public class CommandDefault implements Command {
         this.result = result;
     }
 
-    
+
 
     // -- exceptionStackTrace (property)
 
     private String exceptionStackTrace;
-    
+
     @Override
     public String getException() {
         return exceptionStackTrace;
@@ -301,13 +309,13 @@ public class CommandDefault implements Command {
     public void setException(final String exceptionStackTrace) {
         this.exceptionStackTrace = exceptionStackTrace;
     }
-    
-    
+
+
 
     // -- transactionId (property)
 
     private UUID transactionId;
-    
+
     @Override
     public UUID getTransactionId() {
         return transactionId;
@@ -316,40 +324,42 @@ public class CommandDefault implements Command {
     public void setTransactionId(UUID transactionId) {
         this.transactionId = transactionId;
     }
-    
 
-    
+
+
 
     // -- persistence
 
     private CommandPersistence persistence;
-    
+
     @Override
     public CommandPersistence getPersistence() {
         return persistence;
     }
-    
+
     @Override
     public void setPersistence(CommandPersistence persistence) {
-        this.persistence = persistence; 
+        this.persistence = persistence;
     }
 
-    
+
 
     // -- persistHint
 
     private boolean persistHint;
-    
+
+    @Override
     public boolean isPersistHint() {
         return persistHint;
     }
-    
+
+    @Override
     public void setPersistHint(boolean persistHint) {
         this.persistHint = persistHint;
     }
 
 
-    
+
 
     // -- next
 
@@ -368,24 +378,24 @@ public class CommandDefault implements Command {
         return next.get();
     }
 
-    
+
 
     // -- toString
 
     private final static ToString<CommandDefault> toString = ObjectContracts
-    		.toString("startedAt", CommandDefault::getStartedAt)
-    		.thenToString("user", CommandDefault::getUser)
-			.thenToString("memberIdentifier", CommandDefault::getMemberIdentifier) 
-			.thenToString("target", CommandDefault::getTarget) 
-			.thenToString("transactionId", CommandDefault::getTransactionId);
-    		
-    
+            .toString("startedAt", CommandDefault::getStartedAt)
+            .thenToString("user", CommandDefault::getUser)
+            .thenToString("memberIdentifier", CommandDefault::getMemberIdentifier)
+            .thenToString("target", CommandDefault::getTarget)
+            .thenToString("transactionId", CommandDefault::getTransactionId);
+
+
     @Override
     public String toString() {
-    	return toString.toString(this);
+        return toString.toString(this);
     }
 
-    
+
 
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDtoProcessorForPropertyAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDtoProcessorForPropertyAbstract.java
index fafe4a2..11b687a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDtoProcessorForPropertyAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDtoProcessorForPropertyAbstract.java
@@ -25,7 +25,7 @@ import org.apache.isis.schema.cmd.v1.PropertyDto;
  * Convenience adapter for command processors for property edits.
  */
 public abstract class CommandDtoProcessorForPropertyAbstract
-        implements CommandDtoProcessor {
+implements CommandDtoProcessor {
     protected CommandDto asDto(final CommandWithDto commandWithDto) {
         return commandWithDto.asDto();
     }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/spi/CommandService.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/spi/CommandService.java
index 5e71bb4..545f0d7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/spi/CommandService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/spi/CommandService.java
@@ -30,9 +30,9 @@ public interface CommandService {
      */
     @Programmatic
     Command create();
-    
+
     /**
-     * Hint for this implementation to eagerly persist the {@link Command}s if possible; influences the behaviour 
+     * Hint for this implementation to eagerly persist the {@link Command}s if possible; influences the behaviour
      * of actions annotated to execute in the {@link org.apache.isis.applib.annotation.CommandExecuteIn#BACKGROUND}.
      */
     @Programmatic
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
index 4b20c8a..5f22d88 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
@@ -39,14 +39,14 @@ import org.apache.isis.commons.internal.collections._Lists;
                 "key",
                 "value"
         }
-)
+        )
 @DomainObject(
         editing = Editing.DISABLED,
         objectType = "isisApplib.ConfigurationProperty"
-)
+        )
 @DomainObjectLayout(
         paged = 999
-)
+        )
 public class ConfigurationProperty implements Comparable<ConfigurationProperty> {
 
     public ConfigurationProperty(){}
@@ -88,8 +88,8 @@ public class ConfigurationProperty implements Comparable<ConfigurationProperty>
     public static class Util {
 
         private static final List<String> PROTECTED_KEYS =
-        		_Lists.of("password", "apiKey", "authToken");
-                
+                _Lists.of("password", "apiKey", "authToken");
+
 
         private Util(){}
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java
index 5db6a0e..ff15fa0 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationServiceMenu.java
@@ -33,30 +33,30 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.ConfigurationServiceMenu"
-)
+        )
 @DomainServiceLayout(
         menuBar = DomainServiceLayout.MenuBar.TERTIARY,
         menuOrder = "500.900"
-)
+        )
 public class ConfigurationServiceMenu {
 
-    public static abstract class ActionDomainEvent 
-    extends IsisApplibModule.ActionDomainEvent<ConfigurationServiceMenu> { 
-    	private static final long serialVersionUID = 1L; 
+    public static abstract class ActionDomainEvent
+    extends IsisApplibModule.ActionDomainEvent<ConfigurationServiceMenu> {
+        private static final long serialVersionUID = 1L;
     }
-    
-    public static class AllConfigurationPropertiesDomainEvent 
-    extends ActionDomainEvent { 
-    	private static final long serialVersionUID = 1L; 
+
+    public static class AllConfigurationPropertiesDomainEvent
+    extends ActionDomainEvent {
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = AllConfigurationPropertiesDomainEvent.class,
             semantics = SemanticsOf.SAFE
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-wrench"
-    )
+            )
     @MemberOrder(sequence = "500.900.1")
     public Set<ConfigurationProperty> configuration(){
         return configurationService.allProperties();
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java b/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
index 6f4aad0..9d26dfc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
@@ -50,10 +50,10 @@ public interface ContentMappingService {
             }
             throw new IllegalArgumentException(
                     "Could not locate x-ro-domain-type parameter in any of the provided media types; got: " +
-                    		_NullSafe.stream(acceptableMediaTypes)
-                    		.filter(_NullSafe::isPresent)
-                    		.map(Object::toString)
-                    		.collect(Collectors.joining(", ")) );
+                            _NullSafe.stream(acceptableMediaTypes)
+                    .filter(_NullSafe::isPresent)
+                    .map(Object::toString)
+                    .collect(Collectors.joining(", ")) );
         }
 
         public static boolean isSupported(
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/error/Ticket.java b/core/applib/src/main/java/org/apache/isis/applib/services/error/Ticket.java
index 23f6c78..700a084 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/error/Ticket.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/error/Ticket.java
@@ -81,5 +81,5 @@ public interface Ticket extends Serializable {
     /**
      * Returns a Html representation of this ticket.
      */
-	public String getMarkup();
+    public String getMarkup();
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
index a0eeade..4d63503 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
@@ -33,7 +33,7 @@ import org.apache.isis.core.plugins.eventbus.EventBusPlugin.EventListener;
 /**
  * A service implementing an Event Bus, allowing arbitrary events to be posted and
  * subscribed to.
- *  
+ *
  * <p>
  *      Only domain services (not domain entities or view models) should be registered; only they are guaranteed to be
  *      instantiated and resident in memory.
@@ -87,7 +87,7 @@ public abstract class EventBusService {
     @Programmatic
     @PostConstruct
     public void init(final Map<String, String> properties) {
-    	hasPosted = false; // reset state
+        hasPosted = false; // reset state
     }
 
     @Programmatic
@@ -96,7 +96,7 @@ public abstract class EventBusService {
         teardownEventBus();
     }
 
-    
+
 
     // -- register, unregister
 
@@ -183,12 +183,12 @@ public abstract class EventBusService {
         // intentionally no-op
     }
 
-    
+
 
     // -- subscribers
 
     private final Set<Object> subscribers = _Sets.newConcurrentHashSet();
-	
+
 
     /**
      * Returns an immutable snapshot of the current subscribers.
@@ -199,7 +199,7 @@ public abstract class EventBusService {
     }
 
     // -- post
-    
+
     private boolean hasPosted;
 
     /**
@@ -225,20 +225,20 @@ public abstract class EventBusService {
      * Lazily populated in {@link #getEventBusImplementation()} as result of the first {@link #post(Object)}.
      */
     protected EventBusPlugin eventBusImplementation;
-    
+
     public <T> EventListener<T> addEventListener(final Class<T> targetType, Consumer<T> onEvent) {
-    	return Optional.ofNullable(getEventBusImplementation())
-    			.map(impl->impl.addEventListener(targetType, onEvent))
-    			.orElse(null);
-	}
+        return Optional.ofNullable(getEventBusImplementation())
+                .map(impl->impl.addEventListener(targetType, onEvent))
+                .orElse(null);
+    }
 
     public <T> void removeEventListener(EventListener<T> eventListener) {
-    	// do not trigger setupEventBus() 
-    	if(eventBusImplementation!=null) {
-    		eventBusImplementation.removeEventListener(eventListener);
-    	}
-	}
-    
+        // do not trigger setupEventBus()
+        if(eventBusImplementation!=null) {
+            eventBusImplementation.removeEventListener(eventListener);
+        }
+    }
+
     /**
      * Lazily populates the event bus for the current {@link #getSubscribers() subscribers}.
      */
@@ -296,7 +296,7 @@ public abstract class EventBusService {
         this.eventBusImplementation = null;
     }
 
-    
+
 
     // -- hook methods (newEventBus, skip)
 
@@ -319,7 +319,7 @@ public abstract class EventBusService {
 
 
 
-    
+
 
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizer.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizer.java
index 53cb3ca..c997632 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizer.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizer.java
@@ -28,26 +28,26 @@ import org.apache.isis.applib.annotation.Programmatic;
 /**
  * Domain service to (attempt) to recognize certain
  * exceptions, and return user-friendly messages instead.
- * 
+ *
  * <p>
  * Rather than redirecting to a general-purpose error page,
  * the message (corresponding to the recognized exception) is rendered
- * as a regular validation message. 
- * 
+ * as a regular validation message.
+ *
  * <p>
  * More than one implementation of {@link ExceptionRecognizer} can
  * be registered; they will all be consulted (in the order specified in
  * <tt>isis.properties</tt>) to determine if they recognize the exception.
  * The message returned by the first service recognizing the exception is
- * used. 
- * 
+ * used.
+ *
  * <p>
  * The Isis framework also provides a default implementation of this
  * service that recognizes any {@link org.apache.isis.applib.RecoverableException}, simply returning
  * the exception's {@link org.apache.isis.applib.RecoverableException#getMessage() message}.  This
  * allows any component or domain object to throw this exception with
  * the knowledge that it will be handled appropriately.
- * 
+ *
  * <p>
  * Initially introduced for the Wicket viewer; check the documentation
  * of other viewers to determine whether they also support this service.
@@ -57,7 +57,7 @@ public interface ExceptionRecognizer {
     /**
      * (Attempt to) recognize the exception and return a user-friendly
      * message to render instead.
-     * 
+     *
      * @return user-friendly message to render, or <tt>null</tt> otherwise.
      */
     @Programmatic
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
index 0f4e9e9..4bbac94 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
@@ -35,11 +35,11 @@ import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 
 /**
- * Abstract implementation of {@link ExceptionRecognizer} that looks 
+ * Abstract implementation of {@link ExceptionRecognizer} that looks
  * exceptions meeting the {@link Predicate} supplied in the constructor
  * and, if found anywhere in the causal chain,
  * then returns a non-null message indicating that the exception has been recognized.
- * 
+ *
  * <p>
  * If a messaging-parsing {@link Function} is provided through the constructor,
  * then the message can be altered.  Otherwise the exception's {@link Throwable#getMessage() message} is returned as-is.
@@ -49,8 +49,8 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
     public static final Logger LOG = LoggerFactory.getLogger(ExceptionRecognizerAbstract.class);
 
     /**
-     * Normally recognized exceptions are not logged (because they are expected and handled).  
-     * 
+     * Normally recognized exceptions are not logged (because they are expected and handled).
+     *
      * <p>
      * This key is primarily for diagnostic purposes, to log the exception regardless.
      */
@@ -83,23 +83,23 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
             }
         };
     }
-    
+
     // //////////////////////////////////////
 
 
     private final Category category;
     private final Predicate<Throwable> predicate;
     private final Function<String,String> messageParser;
-    
+
     private boolean logRecognizedExceptions;
 
     // //////////////////////////////////////
-    
+
     // -- JAVA 8+
-    
+
     public ExceptionRecognizerAbstract(final Category category, Predicate<Throwable> predicate, final Function<String,String> messageParser) {
-    	Objects.requireNonNull(predicate);
-    	this.category = category;
+        Objects.requireNonNull(predicate);
+        this.category = category;
         this.predicate = predicate;
         this.messageParser = messageParser != null ? messageParser : Function.identity();
     }
@@ -116,43 +116,46 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
         this(Category.OTHER, predicate);
     }
 
+    @Override
     @PostConstruct
     public void init(Map<String, String> properties) {
         final String prop = properties.get(KEY_LOG_RECOGNIZED_EXCEPTIONS);
         this.logRecognizedExceptions = Boolean.parseBoolean(prop);
     }
 
+    @Override
     @PreDestroy
     public void shutdown() {
     }
 
     // //////////////////////////////////////
 
+    @Override
     @Programmatic
     public String recognize(Throwable ex) {
-        
+
         return _Exceptions.streamCausalChain(ex)
-        .filter(predicate)
-        .map(throwable->{
-            if(logRecognizedExceptions) {
-                LOG.info("Recognized exception, stacktrace : ", throwable);
-            }
-            if(ex instanceof TranslatableException) {
-                final TranslatableException translatableException = (TranslatableException) ex;
-                final TranslatableString translatableMessage = translatableException.getTranslatableMessage();
-                final String translationContext = translatableException.getTranslationContext();
-                if(translatableMessage != null && translationContext != null) {
-                    return translatableMessage.translate(translationService, translationContext);
-                }
-            }
-            final Throwable rootCause = _Exceptions.getRootCause(throwable);
-            final String rootCauseMessage = rootCause.getMessage();
-            final String parsedMessage = messageParser.apply(rootCauseMessage);
-            return parsedMessage;
-        })
-        .findFirst()
-        .orElse(null);
-        
+                .filter(predicate)
+                .map(throwable->{
+                    if(logRecognizedExceptions) {
+                        LOG.info("Recognized exception, stacktrace : ", throwable);
+                    }
+                    if(ex instanceof TranslatableException) {
+                        final TranslatableException translatableException = (TranslatableException) ex;
+                        final TranslatableString translatableMessage = translatableException.getTranslatableMessage();
+                        final String translationContext = translatableException.getTranslationContext();
+                        if(translatableMessage != null && translationContext != null) {
+                            return translatableMessage.translate(translationService, translationContext);
+                        }
+                    }
+                    final Throwable rootCause = _Exceptions.getRootCause(throwable);
+                    final String rootCauseMessage = rootCause.getMessage();
+                    final String parsedMessage = messageParser.apply(rootCauseMessage);
+                    return parsedMessage;
+                })
+                .findFirst()
+                .orElse(null);
+
     }
 
     @Programmatic
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
index f7abf9a..23f931c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
@@ -33,7 +33,7 @@ import org.apache.isis.commons.internal.collections._Lists;
 /**
  * Convenience implementation of {@link ExceptionRecognizer} that loops through a list of
  * {@link #add(ExceptionRecognizer) registered} services.
- * 
+ *
  * <p>
  * Note that the framework <i>does</i> allow multiple {@link ExceptionRecognizer service}s
  * to be registered in <tt>isis.properties</tt>, and each will be consulted in turn.  Therefore
@@ -50,7 +50,7 @@ public class ExceptionRecognizerComposite implements ExceptionRecognizer {
     public ExceptionRecognizerComposite(final ExceptionRecognizer... exceptionRecognizers) {
         this(Arrays.asList(exceptionRecognizers));
     }
-    
+
     public ExceptionRecognizerComposite(final List<? extends ExceptionRecognizer> exceptionRecognizers) {
         for (final ExceptionRecognizer er : exceptionRecognizers) {
             add(er);
@@ -60,7 +60,7 @@ public class ExceptionRecognizerComposite implements ExceptionRecognizer {
     /**
      * Register an {@link ExceptionRecognizer} to be consulted when
      * {@link #recognize(Throwable)} is called.
-     * 
+     *
      * <p>
      * The most specific {@link ExceptionRecognizer recognizer}s should be registered
      * before the more general ones.  See the <i>JDO object store</i> applib for
@@ -70,11 +70,12 @@ public class ExceptionRecognizerComposite implements ExceptionRecognizer {
     public final void add(final ExceptionRecognizer ers) {
         exceptionRecognizers.add(ers);
     }
-    
+
     /**
-     * Returns the non-<tt>null</tt> message of the first {@link #add(ExceptionRecognizer) add}ed 
-     * {@link ExceptionRecognizer service} that recognizes the exception. 
+     * Returns the non-<tt>null</tt> message of the first {@link #add(ExceptionRecognizer) add}ed
+     * {@link ExceptionRecognizer service} that recognizes the exception.
      */
+    @Override
     @Programmatic
     public final String recognize(final Throwable ex) {
         for (final ExceptionRecognizer ers : exceptionRecognizers) {
@@ -88,7 +89,7 @@ public class ExceptionRecognizerComposite implements ExceptionRecognizer {
 
 
     /**
-     * Returns the non-<tt>null</tt> recognition of the first {@link #add(ExceptionRecognizer) add}ed 
+     * Returns the non-<tt>null</tt> recognition of the first {@link #add(ExceptionRecognizer) add}ed
      * {@link org.apache.isis.applib.services.exceprecog.ExceptionRecognizer}.
      *
      * <p>
@@ -97,6 +98,7 @@ public class ExceptionRecognizerComposite implements ExceptionRecognizer {
      *     category of {@link org.apache.isis.applib.services.exceprecog.ExceptionRecognizer.Category#CLIENT_ERROR}.
      * </p>
      */
+    @Override
     @Programmatic
     public final Recognition recognize2(final Throwable ex) {
         for (final ExceptionRecognizer ers : exceptionRecognizers) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
index 58b7aa3..a36317c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
@@ -31,56 +31,56 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
  * exception of the type provided in the constructor
  * and, if found anywhere in the causal chain,
  * then returns a non-null message indicating that the exception has been recognized.
- * 
+ *
  * <p>
  * If a messaging-parsing {@link Function} is provided through the constructor,
  * then the message can be altered.  Otherwise the exception's {@link Throwable#getMessage() message} is returned as-is.
  */
 public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
-	
-	protected final static Predicate<Throwable> ofTypeExcluding(final Class<? extends Throwable> exceptionType, final String... messages) {
+
+    protected final static Predicate<Throwable> ofTypeExcluding(final Class<? extends Throwable> exceptionType, final String... messages) {
         return ofType(exceptionType).and(excluding(messages));
     }
 
     protected final static Predicate<Throwable> ofTypeIncluding(final Class<? extends Throwable> exceptionType, final String... messages) {
         return ofType(exceptionType).and(including(messages));
     }
-    
+
     protected final static Predicate<Throwable> ofType(final Class<? extends Throwable> exceptionType) {
         return input->exceptionType.isAssignableFrom(input.getClass());
     }
-    
+
     /**
      * A {@link Predicate} that {@link Predicate#apply(Object) applies} only if the message(s)
      * supplied do <i>NOT</i> appear in the {@link Throwable} or any of its {@link Throwable#getCause() cause}s
      * (recursively).
-     * 
+     *
      * <p>
      * Intended to prevent too eager matching of an overly general exception type.
      */
     protected final static Predicate<Throwable> excluding(final String... messages) {
         return input->{
-                final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
-                for (String message : messages) {
-                    for (Throwable throwable : causalChain) {
-                        final String throwableMessage = throwable.getMessage();
-                        if(throwableMessage != null && throwableMessage.contains(message)) {
-                            return false;
-                        }
-                        if(throwable instanceof JDODataStoreException) {
-                            final JDODataStoreException jdoDataStoreException = (JDODataStoreException) throwable;
-                            final Throwable[] nestedExceptions = jdoDataStoreException.getNestedExceptions();
-                            for (Throwable nestedException : nestedExceptions) {
-                                final String nestedThrowableMessage = nestedException.getMessage();
-                                if(nestedThrowableMessage != null && nestedThrowableMessage.contains(message)) {
-                                    return false;
-                                }
+            final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
+            for (String message : messages) {
+                for (Throwable throwable : causalChain) {
+                    final String throwableMessage = throwable.getMessage();
+                    if(throwableMessage != null && throwableMessage.contains(message)) {
+                        return false;
+                    }
+                    if(throwable instanceof JDODataStoreException) {
+                        final JDODataStoreException jdoDataStoreException = (JDODataStoreException) throwable;
+                        final Throwable[] nestedExceptions = jdoDataStoreException.getNestedExceptions();
+                        for (Throwable nestedException : nestedExceptions) {
+                            final String nestedThrowableMessage = nestedException.getMessage();
+                            if(nestedThrowableMessage != null && nestedThrowableMessage.contains(message)) {
+                                return false;
                             }
                         }
                     }
                 }
-                return true;
-            };
+            }
+            return true;
+        };
 
     }
 
@@ -88,57 +88,57 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
      * A {@link Predicate} that {@link Predicate#apply(Object) applies} only if at least one of the message(s)
      * supplied <i>DO</i> appear in the {@link Throwable} or any of its {@link Throwable#getCause() cause}s
      * (recursively).
-     * 
+     *
      * <p>
      * Intended to prevent more precise matching of a specific general exception type.
      */
     protected final static Predicate<Throwable> including(final String... messages) {
         return input->{
-                final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
-                for (String message : messages) {
-                    for (Throwable throwable : causalChain) {
-                        final String throwableMessage = throwable.getMessage();
-                        if(throwableMessage != null && throwableMessage.contains(message)) {
-                            return true;
-                        }
+            final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
+            for (String message : messages) {
+                for (Throwable throwable : causalChain) {
+                    final String throwableMessage = throwable.getMessage();
+                    if(throwableMessage != null && throwableMessage.contains(message)) {
+                        return true;
                     }
                 }
-                return false;
-            };
+            }
+            return false;
+        };
     }
 
     public ExceptionRecognizerForType(
-    		Category category, 
-    		final Class<? extends Exception> exceptionType, 
-    		final Function<String,String> messageParser) {
+            Category category,
+            final Class<? extends Exception> exceptionType,
+            final Function<String,String> messageParser) {
         this(category, ofType(exceptionType), messageParser);
     }
-    
+
     public ExceptionRecognizerForType(
-    		Category category, 
-    		final Predicate<Throwable> predicate, 
-    		final Function<String,String> messageParser) {
+            Category category,
+            final Predicate<Throwable> predicate,
+            final Function<String,String> messageParser) {
         super(category, predicate, messageParser);
     }
-    
+
     public ExceptionRecognizerForType(Category category, Class<? extends Exception> exceptionType) {
         this(category, exceptionType, null);
     }
 
     public ExceptionRecognizerForType(
-    		final Class<? extends Exception> exceptionType, 
-    		final Function<String,String> messageParser) {
+            final Class<? extends Exception> exceptionType,
+            final Function<String,String> messageParser) {
         this(Category.OTHER, exceptionType, messageParser);
     }
 
     public ExceptionRecognizerForType(
-    		final Predicate<Throwable> predicate, 
-    		final Function<String,String> messageParser) {
+            final Predicate<Throwable> predicate,
+            final Function<String,String> messageParser) {
         this(Category.OTHER, predicate, messageParser);
     }
 
     public ExceptionRecognizerForType(Class<? extends Exception> exceptionType) {
         this(Category.OTHER, exceptionType);
     }
-	
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
index 3ef98ec..7ee1d1f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
@@ -43,11 +43,12 @@ import org.apache.isis.commons.internal.base._Strings;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class ExceptionRecognizerCompositeForJdoObjectStore extends ExceptionRecognizerComposite {
 
     public static final String KEY_DISABLE = "isis.services.ExceptionRecognizerCompositeForJdoObjectStore.disable";
 
+    @Override
     @Programmatic
     @PostConstruct
     public void init(Map<String,String> properties) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreException.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreException.java
index b52fc16..5fc9115 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreException.java
@@ -25,8 +25,8 @@ public class ExceptionRecognizerForJDODataStoreException extends ExceptionRecogn
     public ExceptionRecognizerForJDODataStoreException() {
         super(Category.SERVER_ERROR,
                 ofTypeExcluding(javax.jdo.JDODataStoreException.class, "NOT NULL check constraint"),
-            prefix("Unable to save changes.  " +
-            	   "Does similar data already exist, or has referenced data been deleted?"));
+                prefix("Unable to save changes.  " +
+                        "Does similar data already exist, or has referenced data been deleted?"));
     }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
index 5e2b6ac..0dc639d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
@@ -21,15 +21,15 @@ package org.apache.isis.applib.services.exceprecog.jdo;
 import javax.jdo.JDODataStoreException;
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerForType;
 
-public class ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException 
+public class ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException
 extends ExceptionRecognizerForType {
 
-	public ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException() {
-		super(Category.CONSTRAINT_VIOLATION,
-				ofTypeIncluding(
-						JDODataStoreException.class, 
-						"integrity constraint violation: foreign key no action"),
-				prefix("Related data exists"));
-	}
+    public ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException() {
+        super(Category.CONSTRAINT_VIOLATION,
+                ofTypeIncluding(
+                        JDODataStoreException.class,
+                        "integrity constraint violation: foreign key no action"),
+                prefix("Related data exists"));
+    }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDOObjectNotFoundException.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDOObjectNotFoundException.java
index 74e934a..5ebc722 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDOObjectNotFoundException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForJDOObjectNotFoundException.java
@@ -24,9 +24,9 @@ public class ExceptionRecognizerForJDOObjectNotFoundException extends ExceptionR
 
     public ExceptionRecognizerForJDOObjectNotFoundException() {
         super(Category.NOT_FOUND,
-              javax.jdo.JDOObjectNotFoundException.class,
-              prefix("Unable to load object.  " +
-                   "Has it been deleted by someone else?"));
+                javax.jdo.JDOObjectNotFoundException.class,
+                prefix("Unable to load object.  " +
+                        "Has it been deleted by someone else?"));
     }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
index 331fbae..59e222c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
@@ -20,15 +20,15 @@ package org.apache.isis.applib.services.exceprecog.jdo;
 
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerForType;
 
-public class ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException 
+public class ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException
 extends ExceptionRecognizerForType {
 
-	public ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException() {
-		super(Category.CONSTRAINT_VIOLATION,
-				ofTypeIncluding(
-						java.sql.SQLIntegrityConstraintViolationException.class, 
-						"unique constraint or index violation"),
-				prefix("Data already exists"));
-	}
+    public ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException() {
+        super(Category.CONSTRAINT_VIOLATION,
+                ofTypeIncluding(
+                        java.sql.SQLIntegrityConstraintViolationException.class,
+                        "unique constraint or index violation"),
+                prefix("Data already exists"));
+    }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsDefault.java
index 61af728..6fec8fa 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsDefault.java
@@ -64,12 +64,12 @@ import org.apache.isis.applib.services.eventbus.EventBusService;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.FixtureScriptsDefault"
-)
+        )
 @DomainServiceLayout(
         named="Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
         menuOrder = "500.10"
-)
+        )
 public class FixtureScriptsDefault extends FixtureScripts {
 
     // -- constructor, init
@@ -85,6 +85,7 @@ public class FixtureScriptsDefault extends FixtureScripts {
     }
 
 
+    @Override
     @PostConstruct
     public void init() {
         if(fixtureScriptsSpecificationProvider == null) {
@@ -92,22 +93,22 @@ public class FixtureScriptsDefault extends FixtureScripts {
         }
         setSpecification(fixtureScriptsSpecificationProvider.getSpecification());
     }
-    
+
 
 
     // -- runFixtureScript (using choices as the drop-down policy)
     @Action(
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @MemberOrder(sequence="10")
     @Override
     public List<FixtureResult> runFixtureScript(
             final FixtureScript fixtureScript,
             @ParameterLayout(
-                named = "Parameters",
-                describedAs =
-                        "Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)",
-                multiLine = 10)
+                    named = "Parameters",
+                    describedAs =
+                    "Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)",
+                    multiLine = 10)
             @Parameter(optionality = Optionality.OPTIONAL)
             final String parameters) {
         try {
@@ -152,23 +153,23 @@ public class FixtureScriptsDefault extends FixtureScripts {
         return super.validateRunFixtureScript(fixtureScript, parameters);
     }
 
-    
+
 
     // -- runFixtureScript (using autoComplete as drop-down policy)
     @Action(
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             named = "Run Fixture Script"
-    )
+            )
     @MemberOrder(sequence="10")
     public List<FixtureResult> runFixtureScriptWithAutoComplete(
             final FixtureScript fixtureScript,
             @ParameterLayout(
-                named = "Parameters",
-                describedAs =
-                        "Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)",
-                multiLine = 10)
+                    named = "Parameters",
+                    describedAs =
+                    "Script-specific parameters (if any).  The format depends on the script implementation (eg key=value, CSV, JSON, XML etc)",
+                    multiLine = 10)
             @Parameter(optionality = Optionality.OPTIONAL)
             final String parameters) {
         return this.runFixtureScript(fixtureScript, parameters);
@@ -193,16 +194,16 @@ public class FixtureScriptsDefault extends FixtureScripts {
     public String validateRunFixtureScriptWithAutoComplete(final FixtureScript fixtureScript, final String parameters) {
         return super.validateRunFixtureScript(fixtureScript, parameters);
     }
-    
+
 
     // -- recreateObjectsAndReturnFirst
 
     @Action(
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa="fa fa-refresh"
-    )
+            )
     @MemberOrder(sequence="20")
     public Object recreateObjectsAndReturnFirst() {
         Class<? extends FixtureScript> recreateScriptClass =  getSpecification().getRecreateScriptClass();
@@ -221,19 +222,19 @@ public class FixtureScriptsDefault extends FixtureScripts {
         return getSpecification().getRecreateScriptClass() == null;
     }
 
-    
+
 
     // -- helpers
     private boolean hideIfPolicyNot(final FixtureScriptsSpecification.DropDownPolicy requiredPolicy) {
         return fixtureScriptsSpecificationProvider == null || getSpecification().getRunScriptDropDownPolicy() != requiredPolicy;
     }
-    
+
 
     // -- injected services
     @javax.inject.Inject
     FixtureScriptsSpecificationProvider fixtureScriptsSpecificationProvider;
     @javax.inject.Inject
     EventBusService eventBusService;
-    
+
 
 }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecification.java b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecification.java
index aab110b..cbb4418 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecification.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecification.java
@@ -159,7 +159,7 @@ public class FixtureScriptsSpecification {
                     packagePrefix,
                     nonPersistedObjectsStrategy, multipleExecutionStrategy,
                     defaultScriptClass, dropDownPolicy, recreateScriptClass
-            );
+                    );
         }
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecificationProvider.java b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecificationProvider.java
index e72d07c..1ad672f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecificationProvider.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/fixturespec/FixtureScriptsSpecificationProvider.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.fixturescripts.FixtureScripts;
 
 /**
  * Rather than subclassing {@link FixtureScripts} class, you can instead implement this interface as a service.
- * 
+ *
  * <p>
  *     The framework will automatically instantiate {@link FixtureScriptsDefault} as a fallback, and use the
  *     {@link FixtureScriptsSpecification} obtained from <i>this</i> service to configure itself.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java b/core/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
index de09246..02125ab 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
@@ -89,8 +89,8 @@ public interface GridService {
     Grid complete(Grid grid);
 
     /**
-     * Modifies the provided {@link Grid}, removing all metadata except the basic grid structure. 
-     * 
+     * Modifies the provided {@link Grid}, removing all metadata except the basic grid structure.
+     *
      * <p>
      *     If a &quot;minimal&quot; grid is persisted as the <code>layout.xml</code>, then the expectation is that
      *     most of the layout annotations ({@link DomainObjectLayout}, {@link ActionLayout}, {@link PropertyLayout},
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java b/core/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
index 9347a55..cafcc51 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
@@ -27,9 +27,9 @@ public interface HintStore {
 
     public static class BookmarkWithHintId extends Bookmark {
 
-		private static final long serialVersionUID = -459431279406553124L;
-		
-		private final String hintId;
+        private static final long serialVersionUID = -459431279406553124L;
+
+        private final String hintId;
 
         public BookmarkWithHintId(final Bookmark bookmark, final String hintId) {
             super(bookmark.toString());
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
index 79954cf..8212f04 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
@@ -37,12 +37,12 @@ import org.hsqldb.util.DatabaseManagerSwing;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.HsqlDbManagerMenu"
-)
+        )
 @DomainServiceLayout(
         named = "Prototyping",
         menuOrder = "500.800",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY
-)
+        )
 public class HsqlDbManagerMenu {
 
 
@@ -60,11 +60,11 @@ public class HsqlDbManagerMenu {
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING,
             domainEvent = ActionDomainEvent.class
-    )
+            )
     @ActionLayout(
             named = "HSQL DB Manager",
             cssClassFa = "database"
-    )
+            )
     public void hsqlDbManager() {
         String[] args = {"--url", url, "--noexit" };
         DatabaseManagerSwing.main(args);
@@ -72,7 +72,7 @@ public class HsqlDbManagerMenu {
     public boolean hideHsqlDbManager() {
         try {
             // hsqldb is configured as optional in the applib's pom.xml
-        	_Context.loadClass(DatabaseManagerSwing.class.getCanonicalName());
+            _Context.loadClass(DatabaseManagerSwing.class.getCanonicalName());
         } catch (ClassNotFoundException e) {
             return true;
         }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
index f3516e9..28b2d9e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
@@ -105,7 +105,7 @@ public final class TranslatableString {
         this.argumentsByParameterName = argumentsByParameterName;
     }
 
-    
+
 
     // -- singularText, pluralText, pluralForm
 
@@ -159,7 +159,7 @@ public final class TranslatableString {
     boolean isPluralForm() {
         return type == Type.TRN;
     }
-    
+
 
     // -- argumentsByParameterName
     private final Map<String, Object> argumentsByParameterName;
@@ -170,7 +170,7 @@ public final class TranslatableString {
     Map<String, Object> getArgumentsByParameterName() {
         return argumentsByParameterName;
     }
-    
+
 
     // -- translate
 
@@ -185,9 +185,9 @@ public final class TranslatableString {
     public String translate(final TranslationService translationService, final String context) {
         final String translatedText =
                 !isPluralForm()
-                        ? translationService.translate(context, getSingularText())
+                ? translationService.translate(context, getSingularText())
                         : translationService.translate(context, getSingularText(), getPluralText(), number);
-        return translated(translatedText);
+                return translated(translatedText);
     }
 
     /**
@@ -236,7 +236,7 @@ public final class TranslatableString {
         return String.format(formatter.toString(), valueList.toArray());
     }
 
-    
+
 
     // -- equals, hashCode, toString
 
@@ -269,6 +269,6 @@ public final class TranslatableString {
         return type.toString(this);
     }
 
-    
+
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
index bab454e..f3b04b8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
@@ -58,28 +58,28 @@ public interface TranslationService {
 
 
     public enum Mode {
-    	DISABLED(configValue->configValue != null &&
+        DISABLED(configValue->configValue != null &&
                 ("disable".equalsIgnoreCase(configValue) ||
                         "disabled".equalsIgnoreCase(configValue))),
         READ(configValue->configValue != null &&
-                ("read".equalsIgnoreCase(configValue) ||
-                		"reader".equalsIgnoreCase(configValue))),
+        ("read".equalsIgnoreCase(configValue) ||
+                "reader".equalsIgnoreCase(configValue))),
         // default
         WRITE(configValue->!READ.matches(configValue) && !DISABLED.matches(configValue));
 
-    	// -- handle values from configuration
-    	
-    	private final Predicate<String> matchesConfigValue;
+        // -- handle values from configuration
+
+        private final Predicate<String> matchesConfigValue;
         private Mode(Predicate<String> matchesConfigValue) {
-			this.matchesConfigValue = Objects.requireNonNull(matchesConfigValue);
-		}
+            this.matchesConfigValue = Objects.requireNonNull(matchesConfigValue);
+        }
         public boolean matches(String configValue) {
-        	return matchesConfigValue.test(configValue);
+            return matchesConfigValue.test(configValue);
         }
-        
+
         // -- for convenience
-        
-		public boolean isRead() {
+
+        public boolean isRead() {
             return this == READ;
         }
         public boolean isWrite() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
index 6eb2433..f04080c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
@@ -95,7 +95,7 @@ public class Interaction implements HasTransactionId {
     public void setTransactionId(final UUID transactionId) {
         this.transactionId = transactionId;
     }
-    
+
 
     // -- push/pop/current/get/clear Execution(s)
 
@@ -271,7 +271,7 @@ public class Interaction implements HasTransactionId {
     public void clear() {
         executionGraphs.clear();
     }
-    
+
 
     // -- next (programmatic)
 
@@ -325,7 +325,7 @@ public class Interaction implements HasTransactionId {
         return next.get();
     }
 
-    
+
 
     /**
      * Represents an action invocation/property edit as a node in a call-stack execution graph, with sub-interactions
@@ -356,7 +356,7 @@ public class Interaction implements HasTransactionId {
             this.targetMember = targetMember;
             this.targetClass = targetClass;
         }
-        
+
 
         // -- via constructor: interaction, interactionType, memberId, target, targetMember, targetClass
 
@@ -400,7 +400,7 @@ public class Interaction implements HasTransactionId {
             return targetMember;
         }
 
-        
+
 
         // -- parent, children
 
@@ -433,7 +433,7 @@ public class Interaction implements HasTransactionId {
         public List<Execution<?,?>> getChildren() {
             return Collections.unmodifiableList(children);
         }
-        
+
 
 
         // -- event
@@ -461,7 +461,7 @@ public class Interaction implements HasTransactionId {
         public void setEvent(final E event) {
             this.event = event;
         }
-        
+
 
         // -- startedAt, completedAt
 
@@ -497,7 +497,7 @@ public class Interaction implements HasTransactionId {
             syncMetrics(When.AFTER, completedAt);
         }
 
-        
+
 
         // -- returned, threw (properties)
 
@@ -541,7 +541,7 @@ public class Interaction implements HasTransactionId {
         }
 
 
-        
+
 
         // -- dto (property)
 
@@ -569,7 +569,7 @@ public class Interaction implements HasTransactionId {
             this.dto = executionDto;
         }
 
-        
+
 
         // -- helpers (syncMetrics)
 
@@ -637,7 +637,7 @@ public class Interaction implements HasTransactionId {
             private static PeriodDto timingsFor(final MetricsDto metricsDto) {
                 return MemberExecutionDtoUtils.timingsFor(metricsDto);
             }
-            
+
 
             abstract void syncMetrics(
                     final Execution<?, ?> teExecution,
@@ -654,7 +654,7 @@ public class Interaction implements HasTransactionId {
             when.syncMetrics(this, timestamp, numberObjectsLoaded, numberObjectsDirtied);
         }
 
-        
+
 
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/InteractionContext.java b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/InteractionContext.java
index 1e596e5..0a65efc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/InteractionContext.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/InteractionContext.java
@@ -35,7 +35,7 @@ import org.apache.isis.applib.annotation.Programmatic;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 @RequestScoped
 public class InteractionContext {
 
@@ -52,7 +52,7 @@ public class InteractionContext {
     public Interaction getInteraction() {
         return interaction;
     }
-    
+
     /**
      * <b>NOT API</b>: intended to be called only by the framework.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
index a0ef72e..a676b0a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
@@ -188,12 +188,12 @@ public interface JaxbService {
                     try {
                         final Method getErrorsMethod = exClass.getMethod("getErrors");
                         errors = _Casts.uncheckedCast(getErrorsMethod.invoke(ex));
-                        
-                        annotationExceptionMessages = ": " + 
-                        _NullSafe.stream(errors)
+
+                        annotationExceptionMessages = ": " +
+                                _NullSafe.stream(errors)
                         .map(Exception::getMessage)
                         .collect(Collectors.joining("; "));
-                        
+
                     } catch (Exception e) {
                         // fall through if we hit any snags, and instead throw the more generic error message.
                     }
@@ -203,7 +203,7 @@ public interface JaxbService {
                                         + domainClass.getName() + "'; " + errors.size() + " error"
                                         + (errors.size() == 1? "": "s")
                                         + " reported" + (!errors
-                                        .isEmpty() ? annotationExceptionMessages : ""), ex);
+                                                .isEmpty() ? annotationExceptionMessages : ""), ex);
                     }
                 }
 
@@ -231,6 +231,7 @@ public interface JaxbService {
         protected void configure(final Marshaller marshaller) {
         }
 
+        @Override
         public Map<String,String> toXsd(final Object domainObject, final IsisSchemas isisSchemas) {
 
             try {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbServiceDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbServiceDefault.java
index 49bd59f..dda4091 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbServiceDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbServiceDefault.java
@@ -35,7 +35,7 @@ import org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class JaxbServiceDefault extends JaxbService.Simple {
 
     @Override
@@ -48,7 +48,7 @@ public class JaxbServiceDefault extends JaxbService.Simple {
                 // go around the loop again, so can properly deserialize the contents
                 DomainObjectList list = (DomainObjectList) pojo;
                 JAXBContext jaxbContextForList = jaxbContextFor(list);
-                
+
                 return internalFromXml(jaxbContextForList, xml, unmarshallerProperties);
             }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java b/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
index af9ed85..e3f2e4d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
@@ -31,23 +31,23 @@ import org.apache.isis.applib.annotation.Programmatic;
 
 
 /**
- * Service that provides a number of workarounds when using JDO/DataNucleus.<br/><br/> 
- * 
+ * Service that provides a number of workarounds when using JDO/DataNucleus.<br/><br/>
+ *
  * 1.x to 2.x Migration Notes: JDO API version specific query methods have been removed.<br/>
- * Instead you may want to use IsisJdoSupport_v3_1 or IsisJdoSupport_v3_2 as provided by Isis' 
- * core plugins for JDO.  
- * 
+ * Instead you may want to use IsisJdoSupport_v3_1 or IsisJdoSupport_v3_2 as provided by Isis'
+ * core plugins for JDO.
+ *
  */
 public interface IsisJdoSupport {
 
     /**
      * Force a reload (corresponding to the JDO <tt>PersistenceManager</tt>'s <tt>refresh()</tt> method)
      * of a domain objects.
-     * 
+     *
      * <p>
-     * In fact, this may just reset the lazy-load state of the domain object, but the effect is the same: 
+     * In fact, this may just reset the lazy-load state of the domain object, but the effect is the same:
      * to cause the object's state to be reloaded from the database.
-     * 
+     *
      * <p>
      * The particular example that led to this method being added was a 1:m bidirectional relationship,
      * analogous to <tt>Customer <-> * Order</tt>.  Persisting the child <tt>Order</tt> object did not cause
@@ -57,10 +57,10 @@ public interface IsisJdoSupport {
      */
     @Programmatic
     <T> T refresh(T domainObject);
-    
+
     @Programmatic
     void ensureLoaded(Collection<?> collectionOfDomainObjects);
-    
+
     @Programmatic
     PersistenceManager getJdoPersistenceManager();
 
@@ -72,18 +72,18 @@ public interface IsisJdoSupport {
 
     /**
      * Force the deletion of all instances of the specified class.
-     * 
+     *
      * <p>
      * Note: this is intended primarily for testing purposes, eg clearing existing data as part of
      * installing fixtures.  It will generate a <tt>SQL DELETE</tt> for each instance.  To perform
-     * a bulk deletion with a single <tt>SQL DELETE</tt>, use {@link #executeUpdate(String)}.  
-     * 
+     * a bulk deletion with a single <tt>SQL DELETE</tt>, use {@link #executeUpdate(String)}.
+     *
      * <p>
      * Implementation note: It can occasionally be the case that Isis' internal adapter for the domain object is
-     * still in memory.  JDO/DataNucleus seems to bump up the version of the object prior to its deletion, 
+     * still in memory.  JDO/DataNucleus seems to bump up the version of the object prior to its deletion,
      * which under normal circumstances would cause Isis to throw a concurrency exception.  Therefore
      * To prevent this from happening (ie to <i>force</i> the deletion of all instances), concurrency checking
-     * is temporarily disabled while this method is performed. 
+     * is temporarily disabled while this method is performed.
      */
     @Programmatic
     void deleteAll(Class<?>... pcClasses);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
index 3b546b7..b51dfee 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
@@ -37,17 +37,17 @@ import org.apache.isis.commons.internal.base._Strings;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.LayoutServiceMenu"
-)
+        )
 @DomainServiceLayout(
         named = "Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
         menuOrder = "500.400"
-)
+        )
 public class LayoutServiceMenu {
-    
-	public static abstract class ActionDomainEvent 
-	extends IsisApplibModule.ActionDomainEvent<LayoutServiceMenu> {
-		private static final long serialVersionUID = 1L;
+
+    public static abstract class ActionDomainEvent
+    extends IsisApplibModule.ActionDomainEvent<LayoutServiceMenu> {
+        private static final long serialVersionUID = 1L;
     }
 
     private final MimeType mimeTypeApplicationZip;
@@ -61,18 +61,18 @@ public class LayoutServiceMenu {
     }
 
     public static class DownloadLayoutsDomainEvent extends ActionDomainEvent {
-    	private static final long serialVersionUID = 1L;
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = DownloadLayoutsDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-download",
             named = "Download Object Layouts (ZIP)"
-    )
+            )
     @MemberOrder(sequence="500.400.1")
     public Blob downloadLayouts(final LayoutService.Style style) {
 
@@ -87,18 +87,18 @@ public class LayoutServiceMenu {
     }
 
     public static class DownloadMenuBarsLayoutDomainEvent extends ActionDomainEvent {
-    	private static final long serialVersionUID = 1L;
+        private static final long serialVersionUID = 1L;
     }
 
     @Action(
             domainEvent = DownloadMenuBarsLayoutDomainEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-download",
             named = "Download Menu Bars Layout (XML)"
-    )
+            )
     @MemberOrder(sequence="500.400.2")
     public Clob downloadMenuBarsLayout(
             @ParameterLayout(named = "File name") final String fileName,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
index 445a0be..2f41686 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
@@ -41,12 +41,12 @@ import org.apache.isis.commons.internal.collections._Lists;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.MetaModelServicesMenu"
-)
+        )
 @DomainServiceLayout(
         named = "Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
         menuOrder = "500.500"
-)
+        )
 public class MetaModelServicesMenu {
 
     public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<MetaModelServicesMenu> { private static final long serialVersionUID = 1L; }
@@ -69,11 +69,11 @@ public class MetaModelServicesMenu {
             domainEvent = DownloadMetaModelEvent.class,
             semantics = SemanticsOf.SAFE,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-download",
             named = "Download Meta Model (CSV)"
-    )
+            )
     @MemberOrder(sequence="500.500.1")
     public Clob downloadMetaModel(
             @ParameterLayout(named = ".csv file name")
@@ -126,16 +126,16 @@ public class MetaModelServicesMenu {
                 row.getMemberName(),
                 row.getNumParams(),
                 row.isContributed() ? "Y" : "",
-                row.getContributedBy(),
-                row.isMixedIn() ? "Y" : "",
-                row.getMixin(),
-                row.getHidden(),
-                row.getDisabled(),
-                row.getChoices(),
-                row.getAutoComplete(),
-                row.getDefault(),
-                row.getValidate())
-        	.collect(Collectors.joining(","));
+                        row.getContributedBy(),
+                        row.isMixedIn() ? "Y" : "",
+                                row.getMixin(),
+                                row.getHidden(),
+                                row.getDisabled(),
+                                row.getChoices(),
+                                row.getAutoComplete(),
+                                row.getDefault(),
+                                row.getValidate())
+                .collect(Collectors.joining(","));
     }
 
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/package-info.java
index e1b86d7..a548d89 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/package-info.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/package-info.java
@@ -20,7 +20,7 @@
 /**
  * The {@link org.apache.isis.applib.services.metamodel.MetaModelService} service provides access to a number of
  * aspects of Apache Isis' internal metamodel.
- * 
+ *
  * @see <a href="http://isis.apache.org/guides/rgsvc/rgsvc.html#_rgsvc_metadata-api_MetamodelService">Reference guide</a>
  */
 package org.apache.isis.applib.services.metamodel;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherServiceLogging.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherServiceLogging.java
index 82e2020..ac190aa 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherServiceLogging.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherServiceLogging.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class PublisherServiceLogging implements PublisherService {
 
     private static final Logger LOG = LoggerFactory.getLogger(PublisherServiceLogging.class);
@@ -69,12 +69,12 @@ public class PublisherServiceLogging implements PublisherService {
         LOG.debug(ChangesDtoUtils.toXml(changesDto));
     }
 
-//TODO [ahuber] not used, remove?
-//    @javax.inject.Inject
-//    private CommandContext commandContext;
-//
-//    @javax.inject.Inject
-//    private UserService userService;
+    //TODO [ahuber] not used, remove?
+    //    @javax.inject.Inject
+    //    private CommandContext commandContext;
+    //
+    //    @javax.inject.Inject
+    //    private UserService userService;
 
 }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
index 8e9000e..64e8f33 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
@@ -18,6 +18,6 @@ package org.apache.isis.applib.services.queryresultscache;
 
 public interface QueryResultCacheControl {
 
-	public boolean isFixturesInstalling();
-	
+    public boolean isFixturesInstalling();
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
index 8feb717..81df410 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
@@ -30,20 +30,20 @@ import java.util.concurrent.Callable;
  * available for use; no further configuration is required.
  */
 public interface QueryResultsCache {
-	
-	// -- KEY
 
-	public static class Key {
+    // -- KEY
+
+    public static class Key {
         private final Class<?> callingClass;
         private final String methodName;
         private final Object[] keys;
-        
+
         public Key(Class<?> callingClass, String methodName, Object... keys) {
             this.callingClass = callingClass;
             this.methodName = methodName;
             this.keys = keys;
         }
-        
+
         public Class<?> getCallingClass() {
             return callingClass;
         }
@@ -53,7 +53,7 @@ public interface QueryResultsCache {
         public Object[] getKeys() {
             return keys;
         }
-        
+
         @Override
         public boolean equals(Object obj) {
             if (this == obj)
@@ -85,7 +85,7 @@ public interface QueryResultsCache {
             // ok, matches
             return true;
         }
-        
+
         @Override
         public int hashCode() {
             final int prime = 31;
@@ -101,9 +101,9 @@ public interface QueryResultsCache {
             return callingClass.getName() + "#" + methodName  + Arrays.toString(keys);
         }
     }
-	
-	// -- VALUE
-    
+
+    // -- VALUE
+
     public static class Value<T> {
         private T result;
         public Value(T result) {
@@ -113,11 +113,11 @@ public interface QueryResultsCache {
             return result;
         }
     }
-    
+
     // -- INTERFACE
 
-	public <T> T execute(Callable<T> callable, Class<?> callingClass, String methodName, Object... keys);
+    public <T> T execute(Callable<T> callable, Class<?> callingClass, String methodName, Object... keys);
+
+    public void resetForNextTransaction();
 
-	public void resetForNextTransaction();
-	
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlInternal.java b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlInternal.java
index cd2189b..ac6b244 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlInternal.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlInternal.java
@@ -30,32 +30,32 @@ import org.apache.isis.applib.fixturescripts.events.FixturesInstallingEvent;
  * In separate class because {@link QueryResultsCache} itself is request-scoped
  */
 @DomainService(
-		nature = NatureOfService.DOMAIN,
-		menuOrder = "" + Integer.MAX_VALUE
-		)
+        nature = NatureOfService.DOMAIN,
+        menuOrder = "" + Integer.MAX_VALUE
+        )
 public class QueryResultsCacheControlInternal extends AbstractSubscriber implements QueryResultCacheControl {
 
-	@PostConstruct
-	@Override
-	public void postConstruct() {
+    @PostConstruct
+    @Override
+    public void postConstruct() {
 
-		super.postConstruct();
+        super.postConstruct();
 
-		eventBusService.addEventListener(FixturesInstallingEvent.class, ev->{
-			fixturesInstalling = true;
-		});
+        eventBusService.addEventListener(FixturesInstallingEvent.class, ev->{
+            fixturesInstalling = true;
+        });
 
-		eventBusService.addEventListener(FixturesInstalledEvent.class, ev->{
-			fixturesInstalling = false;
-		});
+        eventBusService.addEventListener(FixturesInstalledEvent.class, ev->{
+            fixturesInstalling = false;
+        });
 
-	}
+    }
 
-	private boolean fixturesInstalling;
+    private boolean fixturesInstalling;
 
-	@Programmatic
-	@Override
-	public boolean isFixturesInstalling() {
-		return fixturesInstalling;
-	}
+    @Programmatic
+    @Override
+    public boolean isFixturesInstalling() {
+        return fixturesInstalling;
+    }
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheInternal.java b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheInternal.java
index 86fb31e..729319c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheInternal.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheInternal.java
@@ -27,21 +27,21 @@ import org.slf4j.LoggerFactory;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 @RequestScoped
 public class QueryResultsCacheInternal implements QueryResultsCache, WithTransactionScope {
 
     private static final Logger LOG = LoggerFactory.getLogger(QueryResultsCacheInternal.class);
-    
+
     private final Map<Key, Value<?>> cache = _Maps.newHashMap();
 
     @Programmatic
     @Override
     public <T> T execute(
-    		final Callable<T> callable, 
-    		final Class<?> callingClass, 
-    		final String methodName, 
-    		final Object... keys) {
+            final Callable<T> callable,
+            final Class<?> callingClass,
+            final String methodName,
+            final Object... keys) {
         if(control.isFixturesInstalling()) {
             try {
                 return callable.call();
@@ -94,7 +94,7 @@ public class QueryResultsCacheInternal implements QueryResultsCache, WithTransac
     private <T> Value<T> get(final Class<?> callingClass, final String methodName, final Object... keys) {
         return get(new Key(callingClass, methodName, keys));
     }
-    
+
     @Programmatic
     @SuppressWarnings("unchecked")
     private <T> Value<T> get(final Key cacheKey) {
@@ -110,9 +110,9 @@ public class QueryResultsCacheInternal implements QueryResultsCache, WithTransac
     }
 
     private static void logHitOrMiss(final Key cacheKey, final Value<?> cacheValue) {
-        if(!LOG.isDebugEnabled()) { 
-            return; 
-        } 
+        if(!LOG.isDebugEnabled()) {
+            return;
+        }
         LOG.debug("{}: {}", (cacheValue != null ? "HIT" : "MISS"), cacheKey.toString());
     }
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java b/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
index eb01160..f4fa6f2 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
@@ -72,7 +72,7 @@ public interface RepositoryService {
      */
     @Programmatic
     <T> T persist(T domainObject);
-    
+
     /**
      * Persist the specified object (or do nothing if already persistent) and flushes changes to the database.
      *
@@ -145,7 +145,7 @@ public interface RepositoryService {
      */
     @Programmatic
     <T> List<T> allMatches(final Class<T> ofType, final Predicate<? super T> predicate, long... range);
-    
+
     /**
      * Returns all the instances that match the given {@link Query}.
      *
@@ -179,7 +179,7 @@ public interface RepositoryService {
      */
     @Programmatic
     <T> T uniqueMatch(final Class<T> ofType, final Predicate<T> predicate);
-    
+
     /**
      * Find the only instance that matches the provided query.
      *
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingServiceDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingServiceDefault.java
index 72c6ee4..69a4235 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingServiceDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingServiceDefault.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.homepage.HomePageProviderService;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class RoutingServiceDefault implements RoutingService {
 
     @SuppressWarnings("unused")
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java b/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
index b3c219c..4a66430 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
@@ -40,16 +40,16 @@ import org.apache.isis.commons.internal.collections._Maps;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 @RequestScoped
 public class Scratchpad {
-    
+
     /**
      * Provides a mechanism for each object being acted upon to pass
      * data to the next object.
      */
     private final Map<Object, Object> userData = _Maps.newHashMap();
-    
+
     /**
      * Obtain user-data, as set by a previous object being acted upon.
      */
@@ -64,7 +64,7 @@ public class Scratchpad {
     public void put(Object key, Object value) {
         userData.put(key, value);
     }
-    
+
     /**
      * Clear any user data.
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
index 77597cd..a5d51f6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
@@ -73,4 +73,4 @@ public interface SwaggerService {
     @Programmatic
     String generateSwaggerSpec(final Visibility visibility, final Format format);
 
-}    
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
index 175b1cd..655a755 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
@@ -34,12 +34,12 @@ import org.apache.isis.commons.internal.resources._Resource;
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
         objectType = "isisApplib.SwaggerServiceMenu"
-)
+        )
 @DomainServiceLayout(
         named = "Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
         menuOrder = "500.600"
-)
+        )
 public class SwaggerServiceMenu {
 
     public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<SwaggerServiceMenu> { private static final long serialVersionUID = 1L; }
@@ -49,10 +49,10 @@ public class SwaggerServiceMenu {
             semantics = SemanticsOf.SAFE,
             domainEvent = OpenSwaggerUiDomainEvent.class,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-external-link"
-    )
+            )
     @MemberOrder(sequence="500.600.1")
     public LocalResourcePath openSwaggerUi() {
         return new LocalResourcePath("/swagger-ui/index.html");
@@ -64,13 +64,13 @@ public class SwaggerServiceMenu {
             semantics = SemanticsOf.SAFE,
             domainEvent = OpenSwaggerUiDomainEvent.class,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-external-link"
-    )
+            )
     @MemberOrder(sequence="500.600.2")
     public LocalResourcePath openRestApi() {
-    	return new LocalResourcePath("/"+_Resource.getRestfulPathIfAny()+"/");
+        return new LocalResourcePath("/"+_Resource.getRestfulPathIfAny()+"/");
     }
 
     public static class DownloadSwaggerSpecDomainEvent extends ActionDomainEvent { private static final long serialVersionUID = 1L; }
@@ -79,10 +79,10 @@ public class SwaggerServiceMenu {
             semantics = SemanticsOf.SAFE,
             domainEvent = DownloadSwaggerSpecDomainEvent.class,
             restrictTo = RestrictTo.PROTOTYPING
-    )
+            )
     @ActionLayout(
             cssClassFa = "fa-download"
-    )
+            )
     @MemberOrder(sequence="500.600.3")
     public Clob downloadSwaggerSchemaDefinition(
             @ParameterLayout(named = "Filename")
@@ -106,4 +106,4 @@ public class SwaggerServiceMenu {
 
     @javax.inject.Inject
     SwaggerService swaggerService;
-}    
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java b/core/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
index 5829784..6c07ebc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
@@ -42,7 +42,7 @@ public interface TableColumnOrderService {
     @DomainService(
             nature = NatureOfService.DOMAIN,
             menuOrder = "" + Integer.MAX_VALUE
-    )
+            )
     public static class Default implements TableColumnOrderService {
 
         @Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
index d8699a6..d483023 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
@@ -24,20 +24,22 @@ import org.apache.isis.commons.internal.memento._Mementos.EncoderDecoder;
 
 public interface UrlEncodingService extends EncoderDecoder {
 
-	// -- INHERITED from EncoderDecoder (make explicitly programmatic, in order to avoid meta-model validation)
-	@Programmatic public String encode(final byte[] bytes);
-	@Programmatic public byte[] decode(String str);
-	
+    // -- INHERITED from EncoderDecoder (make explicitly programmatic, in order to avoid meta-model validation)
+    @Override
+    @Programmatic public String encode(final byte[] bytes);
+    @Override
+    @Programmatic public byte[] decode(String str);
+
     // -- EXTENSIONS
-    
+
     @Programmatic
     public default String encodeString(final String str) {
-    	return encode(_Strings.toBytes(str, StandardCharsets.UTF_8));
+        return encode(_Strings.toBytes(str, StandardCharsets.UTF_8));
     }
 
     @Programmatic
     public default String decodeToString(final String str) {
-    	return _Strings.ofBytes(decode(str), StandardCharsets.UTF_8);
+        return _Strings.ofBytes(decode(str), StandardCharsets.UTF_8);
     }
-    
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
index d5dd992..d358f3f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
@@ -31,12 +31,12 @@ public abstract class UrlEncodingServiceUsingBaseEncodingAbstract implements Url
 
     @Override
     public String encode(final byte[] bytes) {
-    	return _Strings.ofBytes(_Bytes.asUrlBase64.apply(bytes), StandardCharsets.UTF_8);
+        return _Strings.ofBytes(_Bytes.asUrlBase64.apply(bytes), StandardCharsets.UTF_8);
     }
 
     @Override
     public byte[] decode(final String str) {
-    	return _Bytes.ofUrlBase64.apply(_Strings.toBytes(str, StandardCharsets.UTF_8));
+        return _Bytes.ofUrlBase64.apply(_Strings.toBytes(str, StandardCharsets.UTF_8));
     }
 
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression.java b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression.java
index be4f4dd..2f481db 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression.java
@@ -10,32 +10,32 @@ import org.apache.isis.commons.internal.base._Strings;
 @DomainService(
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
-)
+        )
 public class UrlEncodingServiceWithCompression implements UrlEncodingService {
 
     @Override
     public String encode(final byte[] bytes) {
-    	return _Strings.ofBytes(_Bytes.asCompressedUrlBase64.apply(bytes), StandardCharsets.UTF_8);
+        return _Strings.ofBytes(_Bytes.asCompressedUrlBase64.apply(bytes), StandardCharsets.UTF_8);
     }
 
     @Override
     public byte[] decode(final String str) {
-    	return _Bytes.ofCompressedUrlBase64.apply(_Strings.toBytes(str, StandardCharsets.UTF_8));
+        return _Bytes.ofCompressedUrlBase64.apply(_Strings.toBytes(str, StandardCharsets.UTF_8));
     }
 
-    // -- OVERRIDING DEFAULTS FOR STRING UNARY OPERATORS 
-    
-//    @Override
-//    public String encodeString(final String str) {
-//    	return _Strings.convert(str, _Bytes.asCompressedUrlBase64, StandardCharsets.UTF_8);
-//    }
-//
-//    @Override
-//    public String decodeToString(final String str) {
-//    	return _Strings.convert(str, _Bytes.ofCompressedUrlBase64, StandardCharsets.UTF_8);
-//    }
-    
-    // -- 
-
-    
+    // -- OVERRIDING DEFAULTS FOR STRING UNARY OPERATORS
+
+    //    @Override
+    //    public String encodeString(final String str) {
+    //    	return _Strings.convert(str, _Bytes.asCompressedUrlBase64, StandardCharsets.UTF_8);
+    //    }
+    //
+    //    @Override
+    //    public String decodeToString(final String str) {
+    //    	return _Strings.convert(str, _Bytes.ofCompressedUrlBase64, StandardCharsets.UTF_8);
+    //    }
+
+    // --
+
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java b/core/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
index dd6e7d2..a9375cc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
@@ -25,9 +25,9 @@ import java.io.Serializable;
  */
 public class UserDetails implements Serializable {
 
-	private static final long serialVersionUID = -7308102332765149525L;
-	
-	private String username;
+    private static final long serialVersionUID = -7308102332765149525L;
+
+    private String username;
     private String password;
     private String confirmPassword;
     private String emailAddress;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailRegistrationEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailRegistrationEvent.java
index 4fd805b..2238414 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailRegistrationEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailRegistrationEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.applib.services.userreg.events;
  * An event send to all services interested in user registration
  */
 public class EmailRegistrationEvent extends EmailEventAbstract {
-    
+
     public EmailRegistrationEvent(
             final String email,
             final String confirmationUrl,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java
index 9791f94..72aa884 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InteractionException.java
@@ -37,13 +37,13 @@ public abstract class InteractionException extends RecoverableException {
     /**
      * The {@link InteractionEvent event} passed into the
      * {@link #InteractionException(InteractionEvent) constructor}.
-     * 
+     *
      * <p>
      * Not part of the API, but made available so that subclasses can expose as
      * the appropriate subtype of {@link InteractionEvent}. This would have been
      * more obvious to see if {@link InteractionException} was generic, but
      * generic subclasses of {@link Throwable} are (apparently) not allowed.
-     * 
+     *
      * @return
      */
     protected InteractionEvent getInteractionEvent() {
@@ -54,7 +54,7 @@ public abstract class InteractionException extends RecoverableException {
      * Convenience method that returns the
      * {@link InteractionEvent#getAdvisorClass() advisor class} of the wrapped
      * {@link #getInteractionEvent() interaction event}.
-     * 
+     *
      * @return
      */
     public Class<?> getAdvisorClass() {
@@ -65,7 +65,7 @@ public abstract class InteractionException extends RecoverableException {
      * Convenience method that returns the
      * {@link InteractionEvent#getIdentifier() identifier} of the wrapped
      * {@link #getInteractionEvent() interaction event}.
-     * 
+     *
      * @return
      */
     public Identifier getIdentifier() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
index dd0c319..4ec7ab7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
@@ -25,9 +25,9 @@ import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 /**
  * Superclass of exceptions which indicate an attempt to interact with an object
  * or member in a way that is invalid.
- * 
+ *
  * <p>
- * 
+ *
  */
 public class InvalidException extends InteractionException {
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
index 7b2d13e..86f3302 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.services.wrapper.listeners.InteractionListener;
  * Provides the ability to &quot;wrap&quot; of a domain object such that it can
  * be interacted with while enforcing the hide/disable/validate rules implies by
  * the Isis programming model.
- * 
+ *
  * <p>
  * The &quot;wrap&quot; is a CGLib proxy that wraps the underlying domain
  * object. The wrapper can then be interacted with as follows:
@@ -40,7 +40,7 @@ import org.apache.isis.applib.services.wrapper.listeners.InteractionListener;
  * <li>an <tt>addTo</tt> or <tt>removeFrom</tt> method for collections</li>
  * <li>any action</li>
  * </ul>
- * 
+ *
  * <p>
  * Calling any of the above methods may result in a (subclass of)
  * {@link InteractionException} if the object disallows it. For example, if a
@@ -48,14 +48,14 @@ import org.apache.isis.applib.services.wrapper.listeners.InteractionListener;
  * be thrown. Similarly if an action has a <tt>validate</tt> method and the
  * supplied arguments are invalid then a {@link InvalidException} will be
  * thrown.
- * 
+ *
  * <p>
  * In addition, the following methods may also be called:
  * <ul>
  * <li>the <tt>title</tt> method</li>
  * <li>any <tt>defaultXxx</tt> or <tt>choicesXxx</tt> method</li>
  * </ul>
- * 
+ *
  * <p>
  * An exception will be thrown if any other methods are thrown.
  *
@@ -69,23 +69,23 @@ public interface WrapperFactory {
     /**
      * Whether interactions with the wrapper are actually passed onto the
      * underlying domain object.
-     * 
+     *
      * @see WrapperFactory#wrap(Object, ExecutionMode)
      */
     public static enum ExecutionMode {
         /**
          * Validate all business rules and then execute.
          */
-        EXECUTE(true,true), 
+        EXECUTE(true,true),
         /**
          * Skip all business rules and then execute.
          */
-        SKIP_RULES(false, true), 
+        SKIP_RULES(false, true),
         /**
          * Validate all business rules but do not execute.
          */
         NO_EXECUTE(true, false);
-        
+
         private final boolean enforceRules;
         private final boolean execute;
 
@@ -113,12 +113,12 @@ public interface WrapperFactory {
         public <T> T wrapNoExecute(T domainObject) {
             return domainObject;
         }
-        
+
         @Override
         public <T> T wrapSkipRules(T domainObject) {
             return domainObject;
         }
-        
+
         @Override
         public <T> T wrap(T domainObject, ExecutionMode mode) {
             return domainObject;
@@ -156,7 +156,7 @@ public interface WrapperFactory {
 
     /**
      * Provides the &quot;wrapper&quot; of the underlying domain object.
-     * 
+     *
      * <p>
      * If the object has (see {@link #isWrapper(Object)} already been wrapped),
      * then should just return the object back unchanged.
@@ -170,18 +170,18 @@ public interface WrapperFactory {
      */
     @Programmatic
     <T> T wrapNoExecute(T domainObject);
-    
+
     /**
      * Convenience method for {@link #wrap(Object, ExecutionMode)} with {@link ExecutionMode#SKIP_RULES},
      * to make this feature more discoverable.
      */
     @Programmatic
     <T> T wrapSkipRules(T domainObject);
-    
+
     /**
      * Same as {@link #wrap(Object)}, except the actual execution occurs only if
      * the <tt>execute</tt> parameter indicates.
-     * 
+     *
      * <p>
      * Otherwise, will do all the validations (raise exceptions as required
      * etc.), but doesn't modify the model.
@@ -192,7 +192,7 @@ public interface WrapperFactory {
 
     /**
      * Obtains the underlying domain object, if wrapped.
-     * 
+     *
      * <p>
      * If the object {@link #isWrapper(Object) is not wrapped}, then
      * should just return the object back unchanged.
@@ -200,10 +200,10 @@ public interface WrapperFactory {
     @Programmatic
     <T> T unwrap(T possibleWrappedDomainObject);
 
-    
+
     /**
      * Whether the supplied object has been wrapped.
-     * 
+     *
      * @param <T>
      * @param possibleWrappedDomainObject
      *            - object that might or might not be a wrapper.
@@ -225,13 +225,13 @@ public interface WrapperFactory {
     /**
      * Registers an {@link InteractionListener}, to be notified of interactions
      * on all wrappers.
-     * 
+     *
      * <p>
      * This is retrospective: the listener will be notified of interactions even
      * on wrappers created before the listener was installed. (From an
      * implementation perspective this is because the wrappers delegate back to
      * the container to fire the events).
-     * 
+     *
      * @param listener
      * @return
      */
@@ -241,13 +241,13 @@ public interface WrapperFactory {
     /**
      * Remove an {@link InteractionListener}, to no longer be notified of
      * interactions on wrappers.
-     * 
+     *
      * <p>
      * This is retrospective: the listener will no longer be notified of any
      * interactions created on any wrappers, not just on those wrappers created
      * subsequently. (From an implementation perspective this is because the
      * wrappers delegate back to the container to fire the events).
-     * 
+     *
      * @param listener
      * @return
      */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
index 1fdc9bb..2e3906d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
@@ -23,13 +23,13 @@ import org.apache.isis.applib.Identifier;
 
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents an access (reading) of a property, collection or title.
- * 
+ *
  * <p>
  * Analogous to {@link ValidityEvent} (which corresponds to modifying a property
  * or collection etc), however the {@link #getReason()} will always be
  * <tt>null</tt>. (If access is not allowed then a vetoing
  * {@link VisibilityEvent} would have been fired).
- * 
+ *
  * @see UsabilityEvent
  * @see VisibilityEvent
  * @see ValidityEvent
@@ -38,7 +38,7 @@ import org.apache.isis.applib.Identifier;
 public abstract class AccessEvent extends InteractionEvent {
 
     /**
-     * 
+     *
      */
     private static final long serialVersionUID = 1L;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionArgumentEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionArgumentEvent.java
index a8c8540..0ae65b6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionArgumentEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionArgumentEvent.java
@@ -24,11 +24,11 @@ import org.apache.isis.applib.Identifier;
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether a particular argument for an action is valid
  * or not.
- * 
+ *
  * <p>
  * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
  * argument is invalid; otherwise the argument is valid.
- * 
+ *
  * <p>
  * Called once per argument, and before {@link ActionInvocationEvent}.
  *
@@ -54,7 +54,7 @@ public class ActionArgumentEvent extends ValidityEvent {
 
     /**
      * The position (0-based) of the invalid argument.
-     * 
+     *
      * @return
      */
     public int getPosition() {
@@ -65,10 +65,10 @@ public class ActionArgumentEvent extends ValidityEvent {
     public Object getProposed() {
         return proposed;
     }
-    
+
     @Override
     public String getReasonMessage() {
-    	return String.format("Invalid action argument. Position: %s. Proposed value: %s. Reason: %s", this.getPosition(), this.getProposed(), super.getReasonMessage());
+        return String.format("Invalid action argument. Position: %s. Proposed value: %s. Reason: %s", this.getPosition(), this.getProposed(), super.getReasonMessage());
     }
-    
+
 }
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionInvocationEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionInvocationEvent.java
index a4dda59..9ef71ea 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionInvocationEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionInvocationEvent.java
@@ -24,11 +24,11 @@ import org.apache.isis.applib.Identifier;
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether a particular argument for an action is valid
  * or not.
- * 
+ *
  * <p>
  * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
  * set of arguments are invalid; otherwise the arguments are valid.
- * 
+ *
  * <p>
  * Called after each of the {@link ActionArgumentEvent}s.
  */
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionUsabilityEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionUsabilityEvent.java
index 9ffc86b..0674b1d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionUsabilityEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionUsabilityEvent.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.Identifier;
 
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether an action is usable or has been disabled.
- * 
+ *
  * <p>
  * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
  * action is disabled; otherwise action is enabled.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionVisibilityEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionVisibilityEvent.java
index 2d2d09f..c983d0a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionVisibilityEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/ActionVisibilityEvent.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.Identifier;
 
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether an action is visible or has been hidden.
- * 
+ *
  * <p>
  * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
  * action is invisible; otherwise action is visible.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAccessEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAccessEvent.java
index 84fec1d..b85db69 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAccessEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAccessEvent.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.Identifier;
 
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents an access (reading) of a collection.
- * 
+ *
  * <p>
  * Analogous to {@link CollectionAddToEvent} or
  * {@link CollectionRemoveFromEvent}, however the {@link #getReason()} will
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAddToEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAddToEvent.java
index 8c5df8a..d7c6976 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAddToEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionAddToEvent.java
@@ -24,11 +24,11 @@ import org.apache.isis.applib.Identifier;
 /**
  * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> represents a check as to whether a particular object to be added to a
  * collection is valid or not.
- * 
+ *
  * <p>
  * If {@link #getReason()} is not <tt>null</tt> then provides the reason why the
  * object is invalid; otherwise the object is valid.
- * 
+ *
  * @see CollectionRemoveFromEvent
  *
  */
@@ -45,7 +45,7 @@ public class CollectionAddToEvent extends ValidityEvent {
 
     /**
      * The object that is being added.
-     * 
+     *
      * @return
      */
     @Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionMethodEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionMethodEvent.java
index c911b31..fcef0e6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionMethodEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/CollectionMethodEvent.java
@@ -44,10 +44,10 @@ public class CollectionMethodEvent extends AccessEvent {
     /**
      * The collection object (an instance of a <tt>List</tt> or a <tt>Set</tt>
      * etc) that is the originator of this event.
-     * 
+     *
      * <p>
      * The owning domain object is available using {@link #getDomainObject()}.
... 69796 lines suppressed ...