You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/10/27 04:00:10 UTC

(causeway) branch master updated: CAUSEWAY-2297: replace val -> var (applib)

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/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new c67d752fa1 CAUSEWAY-2297: replace val -> var (applib)
c67d752fa1 is described below

commit c67d752fa1d49eb136f529e79d8ff21ed6dd7b52
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Oct 27 05:00:05 2024 +0100

    CAUSEWAY-2297: replace val -> var (applib)
---
 .../org/apache/causeway/applib/Identifier.java     |  5 +-
 .../applib/annotation/CollectionLayout.java        |  2 +-
 .../causeway/applib/annotation/ValueSemantics.java |  2 +-
 .../apache/causeway/applib/clock/VirtualClock.java |  7 +--
 .../applib/events/domain/AbstractDomainEvent.java  |  5 +-
 .../graph/tree/TreeAdapterWithConverter.java       |  7 +--
 .../causeway/applib/graph/tree/TreePath.java       |  4 +-
 .../org/apache/causeway/applib/id/LogicalType.java | 17 +++--
 .../applib/jaxb/PersistentEntitiesAdapter.java     | 11 ++--
 .../applib/jaxb/PersistentEntityAdapter.java       |  6 +-
 .../causeway/applib/layout/menubars/MenuBars.java  |  4 +-
 .../applib/layout/menubars/MenuBarsAbstract.java   |  4 +-
 .../applib/mixins/dto/Dto_downloadXml.java         |  3 +-
 .../applib/mixins/dto/Dto_downloadXsd.java         | 13 ++--
 .../mixins/layout/Object_downloadLayout.java       |  3 +-
 .../metamodel/Object_downloadMetamodelXml.java     | 11 ++--
 .../mixins/metamodel/Object_logicalTypeName.java   |  7 +--
 .../mixins/metamodel/Object_objectIdentifier.java  |  5 +-
 .../applib/mixins/rest/Object_openRestApi.java     |  9 ++-
 .../causeway/applib/query/_NamedQueryDefault.java  |  3 +-
 .../services/appfeat/ApplicationFeatureId.java     | 31 +++++----
 .../appfeatui/ApplicationFeatureViewModel.java     |  3 +-
 .../appfeatui/ApplicationTypeProperty.java         |  6 +-
 .../applib/services/bookmark/Bookmark.java         |  5 +-
 .../applib/services/bookmark/IdStringifier.java    |  3 +-
 .../services/command/CommandExecutorService.java   |  6 +-
 .../conmap/ContentMappingServiceForCommandDto.java |  8 +--
 .../applib/services/error/SimpleTicket.java        |  4 +-
 .../exceprecog/ExceptionRecognizerAbstract.java    |  7 +--
 .../applib/services/exceprecog/Recognition.java    | 11 ++--
 .../applib/services/i18n/TranslationContext.java   |  3 +-
 .../causeway/applib/services/iactn/Execution.java  |  3 +-
 .../causeway/applib/services/jaxb/JaxbService.java | 11 ++--
 .../causeway/applib/services/metamodel/Config.java |  3 +-
 .../applib/services/metamodel/DomainModel.java     |  4 +-
 .../services/metamodel/MetaModelServiceMenu.java   | 46 +++++++-------
 .../applib/services/metamodel/_AsciiExport.java    |  5 +-
 .../applib/services/metamodel/_CsvExport2.java     |  9 ++-
 .../applib/services/metamodel/_DiffExport.java     | 73 +++++++++++-----------
 .../services/metamodel/objgraph/ObjectGraph.java   |  3 +-
 .../objgraph/_ObjectGraphRelationMerger.java       |  8 +--
 .../services/publishing/log/CommandLogger.java     |  5 +-
 .../publishing/log/PageRenderCollectionLogger.java |  3 +-
 .../log/PageRenderDomainObjectLogger.java          |  3 +-
 .../publishing/log/PageRenderValueLogger.java      |  3 +-
 .../registry/InstanceByPriorityComparator.java     | 14 ++---
 .../applib/services/registry/ServiceRegistry.java  |  6 +-
 .../services/repository/RepositoryService.java     |  3 +-
 .../applib/services/session/SessionLogger.java     |  3 +-
 .../causeway/applib/services/sudo/SudoService.java | 11 ++--
 .../applib/services/user/ImpersonateMenu.java      |  3 +-
 .../causeway/applib/services/user/RoleMemento.java |  3 +-
 .../causeway/applib/services/user/UserMemento.java |  5 +-
 .../causeway/applib/services/user/UserService.java |  3 +-
 .../wrapper/listeners/InteractionAdapter.java      |  2 +-
 .../wrapper/listeners/InteractionListener.java     |  2 +-
 .../services/xactn/TransactionalProcessor.java     |  6 +-
 .../applib/spec/AbstractSpecification.java         |  6 +-
 .../applib/spec/AbstractSpecification2.java        |  6 +-
 .../org/apache/causeway/applib/util/Enums.java     |  7 +--
 .../applib/util/schema/CommonDtoUtils.java         | 17 +++--
 .../applib/util/schema/InteractionsDtoUtils.java   | 11 ++--
 .../org/apache/causeway/applib/value/Blob.java     | 15 +++--
 .../org/apache/causeway/applib/value/Clob.java     |  7 +--
 .../causeway/applib/value/NamedWithMimeType.java   |  3 +-
 .../value/semantics/TemporalValueSemantics.java    | 12 ++--
 .../value/semantics/TimeZoneChoiceProvider.java    |  4 +-
 .../value/semantics/ValueSemanticsAbstract.java    | 23 ++++---
 .../apache/causeway/applib/IdentifierTests.java    |  8 +--
 .../client/RepresentationTypeSimplifiedV2Test.java |  6 +-
 .../commons/internal/reflection/ReflectTest.java   | 10 ++-
 .../apache/causeway/applib/id/LogicalTypeTest.java |  6 +-
 .../jaxbadapters/JaxbXmlAdaptersContractTest.java  | 10 ++-
 .../NamedQueryTest_withStart_or_withCount.java     | 14 ++---
 .../applib/services/bookmark/BookmarkTest.java     |  8 +--
 .../InteractionContext_combine_Test.java           |  6 +-
 .../applib/services/iactnlayer/TryTest.java        | 28 ++++-----
 .../applib/services/jaxb/JaxbServiceTest.java      |  9 ++-
 .../applib/services/user/UserMemento_Test.java     | 38 ++++++-----
 .../wrapper/control/AsyncControl_Test.java         | 16 +++--
 .../services/wrapper/control/SyncControl_Test.java | 14 ++---
 .../applib/util/JaxbUtilsDtoCloneTest.java         | 10 ++-
 .../applib/util/schema/CommonDtoUtils_Test.java    | 11 ++--
 .../causeway/applib/value/Blob_zip_Test.java       |  6 +-
 .../causeway/applib/value/Password_Test.java       |  6 +-
 85 files changed, 330 insertions(+), 442 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java b/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java
index 6c64b76ccc..58d2f9985e 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java
@@ -34,7 +34,6 @@ import org.apache.causeway.commons.internal.reflection._Reflect;
 
 import lombok.Getter;
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * Combines {@link LogicalType} and member identification (from properties, collections or actions),
@@ -218,8 +217,8 @@ implements
     // -- NATURAL NAMES
 
     public String getClassNaturalName() {
-        val className = getClassName();
-        val isolatedName = className.substring(className.lastIndexOf('.') + 1);
+        var className = getClassName();
+        var isolatedName = className.substring(className.lastIndexOf('.') + 1);
         return naturalName(isolatedName);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java
index 54ee0651de..c4d44ce88a 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java
@@ -162,7 +162,7 @@ public @interface CollectionLayout {
      *
      * <p>
      * However, in some circumstances the ordering of collection may be different to the entity's
-     * natural ordering.  For example, the entity may represent an interval of time sorted by its
+     * natural ordering.  For example, the entity may represent an intervar of time sorted by its
      * <i>startDate</i> ascending, but the collection may wish to sort by <i>startDate</i>.
      *
      * <p>
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ValueSemantics.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ValueSemantics.java
index 33b51e2a9a..5fe4d971d7 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ValueSemantics.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ValueSemantics.java
@@ -168,7 +168,7 @@ public @interface ValueSemantics {
      * </pre>
      *
      * <p>
-     * Here, the interval of the [1-may-2013,1-jun-2013) would be rendered as the dates
+     * Here, the intervar of the [1-may-2013,1-jun-2013) would be rendered as the dates
      * 1-may-2013 for the start date but using 31-may-2013 (the day before) for the end date.  What is stored
      * In the domain object, itself, however, the value stored is 1-jun-2013.
      * </p>
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/clock/VirtualClock.java b/api/applib/src/main/java/org/apache/causeway/applib/clock/VirtualClock.java
index f586c42f89..2da659ae4c 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/clock/VirtualClock.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/clock/VirtualClock.java
@@ -39,7 +39,6 @@ import org.apache.causeway.applib.services.iactnlayer.InteractionContext;
 import org.apache.causeway.applib.services.iactnlayer.InteractionService;
 
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * Works in connection with {@link InteractionService},
@@ -78,7 +77,7 @@ public interface VirtualClock extends Serializable {
      */
     static VirtualClock nowAt(@NonNull final Instant virtualNow) {
         // positive if the resulting clock is in the future
-        val offsetMillis = ChronoUnit.MILLIS.between(Instant.now(), virtualNow);
+        var offsetMillis = ChronoUnit.MILLIS.between(Instant.now(), virtualNow);
         return new VirtualClock_withOffset(offsetMillis);
     }
 
@@ -186,7 +185,7 @@ public interface VirtualClock extends Serializable {
      * Always returns the time {@link Instant} 2003/8/17 21:30:25 (UTC)
      */
     static VirtualClock frozenTestClock() {
-        val frozenAt = Instant.from(
+        var frozenAt = Instant.from(
                 ZonedDateTime.of(2003, 7, 17, 21, 30, 25, 0, ZoneId.from(ZoneOffset.UTC)));
         return frozenAt(frozenAt);
     }
@@ -374,7 +373,7 @@ public interface VirtualClock extends Serializable {
      */
     @Deprecated // forRemoval=? ideally applib should no longer depend on joda.time, use converters instead
     default org.joda.time.LocalDate nowAsJodaLocalDate() {
-        val zoneId = localTimeZone();
+        var zoneId = localTimeZone();
         return nowAsJodaLocalDate(zoneId);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
index f18ee5aad1..b2d5d09b8f 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
@@ -36,7 +36,6 @@ import org.apache.causeway.commons.internal.exceptions._Exceptions;
 
 import lombok.Getter;
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * Superclass for all domain events that are raised by the framework when
@@ -135,8 +134,8 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
      * {@link #getMixee() mixed-in} domain object for a mixin.
      */
     public <T> T getSubject() {
-        val mixee = getMixee();
-        val mixedInElseSource = mixee != null
+        var mixee = getMixee();
+        var mixedInElseSource = mixee != null
                 ? mixee
                 : getSource();
         return _Casts.uncheckedCast(mixedInElseSource);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreeAdapterWithConverter.java b/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreeAdapterWithConverter.java
index 3b8e931378..570ad2229e 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreeAdapterWithConverter.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreeAdapterWithConverter.java
@@ -27,7 +27,6 @@ import org.springframework.lang.Nullable;
 import org.apache.causeway.commons.functional.IndexedFunction;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 @RequiredArgsConstructor
 public abstract class TreeAdapterWithConverter<U, T>
@@ -39,7 +38,7 @@ implements TreeAdapter<T>{
     @Override
     public final int childCountOf(final @Nullable T t) {
         if(t==null) return 0;
-        val underlyingNode = converter().toUnderlyingNode(t);
+        var underlyingNode = converter().toUnderlyingNode(t);
         return underlyingNode!=null
                 ? underlyingAdapter().childCountOf(underlyingNode)
                 : 0;
@@ -48,7 +47,7 @@ implements TreeAdapter<T>{
     @Override
     public final Stream<T> childrenOf(final @Nullable T t) {
         if(t==null) return Stream.empty();
-        val underlyingNode = converter().toUnderlyingNode(t);
+        var underlyingNode = converter().toUnderlyingNode(t);
         return underlyingNode!=null
                 ? underlyingAdapter().childrenOf(underlyingNode)
                         .map(childFactoryForParentNode(t))
@@ -58,7 +57,7 @@ implements TreeAdapter<T>{
     @Override
     public final Optional<T> resolveRelative(final @Nullable T t, final @Nullable TreePath relativePath) {
         if(t==null) return Optional.empty();
-        val underlyingNode = converter().toUnderlyingNode(t);
+        var underlyingNode = converter().toUnderlyingNode(t);
         return underlyingNode!=null
                 ? underlyingAdapter().resolveRelative(underlyingNode, relativePath)
                         .map(childFactoryForParentNode(t))
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreePath.java b/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreePath.java
index e56376d8cb..6f3823cceb 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreePath.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/graph/tree/TreePath.java
@@ -37,8 +37,6 @@ import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.internal.primitives._Ints;
 
-import lombok.val;
-
 /**
  * Provides an unambiguous way to address nodes by position within a tree-structure. Examples:
  * <ul>
@@ -164,7 +162,7 @@ public class TreePath implements Serializable {
     }
 
     public Stream<TreePath> streamUpTheHierarchyStartingAtSelf() {
-        val hasMore = _Refs.booleanRef(true);
+        var hasMore = _Refs.booleanRef(true);
         return Stream.iterate((TreePath)this, __->hasMore.isTrue(), TreePath::getParentIfAny)
                 .filter(x->{
                     if(x.isRoot()) {
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/id/LogicalType.java b/api/applib/src/main/java/org/apache/causeway/applib/id/LogicalType.java
index 590deb7d67..f1551f9937 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/id/LogicalType.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/id/LogicalType.java
@@ -39,7 +39,6 @@ import lombok.Getter;
 import lombok.NonNull;
 import lombok.Synchronized;
 import lombok.ToString;
-import lombok.val;
 
 /**
  * A generalization of Java's class type to also hold a logical name, which can be supplied lazily.
@@ -117,7 +116,7 @@ implements
             final @NonNull Class<?> correspondingClass) {
 
         // has precedence, over any former (deprecated) naming strategies
-        val named = _Strings.emptyToNull(
+        var named = _Strings.emptyToNull(
                 _Annotations.synthesize(correspondingClass, Named.class)
                 .map(Named::value)
                 .orElse(null));
@@ -127,7 +126,7 @@ implements
 
         // fallback to @Table annotations
         {
-            val logicalTypeName =
+            var logicalTypeName =
                     _Annotations.synthesize(correspondingClass, Table.class)
                     .map(table->
                         _Strings.nullToEmpty(table.schema())
@@ -214,7 +213,7 @@ implements
      * @implNote the result is not memoized, to keep it simple
      */
     public String getLogicalTypeSimpleName() {
-        val logicalTypeName = getLogicalTypeName();
+        var logicalTypeName = getLogicalTypeName();
         final int lastDot = logicalTypeName.lastIndexOf('.');
         return lastDot >= 0
             ? logicalTypeName.substring(lastDot + 1)
@@ -228,7 +227,7 @@ implements
      * @implNote the result is not memoized, to keep it simple
      */
     public String getNamespace() {
-        val logicalTypeName = getLogicalTypeName();
+        var logicalTypeName = getLogicalTypeName();
         final int lastDot = logicalTypeName.lastIndexOf('.');
         return lastDot >= 0
             ? logicalTypeName.substring(0, lastDot)
@@ -246,11 +245,11 @@ implements
     public String getLogicalTypeNameFormatted(
             final @NonNull String root,
             final @NonNull String delimiter) {
-        val logicalTypeName = getLogicalTypeName();
+        var logicalTypeName = getLogicalTypeName();
         final int lastDot = logicalTypeName.lastIndexOf('.');
         if(lastDot > 0) {
-            val namespace = logicalTypeName.substring(0, lastDot);
-            val simpleTypeName = logicalTypeName.substring(lastDot + 1);
+            var namespace = logicalTypeName.substring(0, lastDot);
+            var simpleTypeName = logicalTypeName.substring(lastDot + 1);
             return namespace + delimiter + simpleTypeName;
         } else {
             return root + logicalTypeName;
@@ -284,7 +283,7 @@ implements
 
     @Override
     public int compareTo(final @Nullable LogicalType other) {
-        val otherClassName = other!=null
+        var otherClassName = other!=null
                 ? other.getCorrespondingClass().getCanonicalName()
                 : null;
         return _Strings.compareNullsFirst(correspondingClass.getCanonicalName(), otherClassName);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntitiesAdapter.java b/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntitiesAdapter.java
index 7936a897d8..bcaf0fde00 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntitiesAdapter.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntitiesAdapter.java
@@ -30,7 +30,6 @@ import org.apache.causeway.schema.common.v2.OidsDto;
 
 import lombok.AccessLevel;
 import lombok.Getter;
-import lombok.val;
 
 /**
  * @since 2.0 {@index}
@@ -43,8 +42,8 @@ public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, Iterable<Obje
     @Override
     public List<Object> unmarshal(final OidsDto oidsDto) {
         List<Object> domainObjects = new ArrayList<>();
-        for (val oidDto : oidsDto.getOid()) {
-            val bookmark = Bookmark.forOidDto(oidDto);
+        for (var oidDto : oidsDto.getOid()) {
+            var bookmark = Bookmark.forOidDto(oidDto);
             bookmarkService.lookup(bookmark)
             .ifPresent(domainObjects::add);
         }
@@ -56,9 +55,9 @@ public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, Iterable<Obje
         if(domainObjects == null) {
             return null;
         }
-        val oidsDto = new OidsDto();
-        for (val domainObject : domainObjects) {
-            val bookmark = getBookmarkService().bookmarkForElseFail(domainObject);
+        var oidsDto = new OidsDto();
+        for (var domainObject : domainObjects) {
+            var bookmark = getBookmarkService().bookmarkForElseFail(domainObject);
             oidsDto.getOid().add(bookmark.toOidDto());
         }
         return oidsDto;
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntityAdapter.java b/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntityAdapter.java
index 6247f8d8ba..9ce0731e2f 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntityAdapter.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/jaxb/PersistentEntityAdapter.java
@@ -23,8 +23,6 @@ import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.schema.common.v2.OidDto;
 
-import lombok.val;
-
 /**
  * @since 2.0 {@index}
  */
@@ -34,7 +32,7 @@ public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
 
     @Override
     public Object unmarshal(final OidDto oidDto) throws Exception {
-        val bookmark = Bookmark.forOidDto(oidDto);
+        var bookmark = Bookmark.forOidDto(oidDto);
         return bookmarkService.lookup(bookmark).orElse(null);
     }
 
@@ -43,7 +41,7 @@ public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
         if(domainObject == null) {
             return null;
         }
-        val bookmark = bookmarkService.bookmarkForElseFail(domainObject);
+        var bookmark = bookmarkService.bookmarkForElseFail(domainObject);
         return bookmark.toOidDto();
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBars.java b/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBars.java
index f2058505ed..29971b039f 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBars.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBars.java
@@ -26,8 +26,6 @@ import org.apache.causeway.applib.annotation.DomainServiceLayout;
 import org.apache.causeway.applib.layout.component.ServiceActionLayoutData;
 import org.apache.causeway.commons.internal.collections._Lists;
 
-import lombok.val;
-
 /**
  * @since 1.x {@index}
  */
@@ -44,7 +42,7 @@ public interface MenuBars {
     Map<String, ServiceActionLayoutData> getAllServiceActionsByObjectTypeAndId();
 
     default Stream<ServiceActionLayoutData> stream() {
-        val entries = _Lists.<ServiceActionLayoutData>newArrayList();
+        var entries = _Lists.<ServiceActionLayoutData>newArrayList();
         visit(entries::add);
         return entries.stream();
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBarsAbstract.java b/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBarsAbstract.java
index 0962dd320c..3368b1cd2c 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBarsAbstract.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/layout/menubars/MenuBarsAbstract.java
@@ -26,8 +26,6 @@ import javax.xml.bind.annotation.XmlTransient;
 import org.apache.causeway.applib.annotation.Programmatic;
 import org.apache.causeway.applib.layout.component.ServiceActionLayoutData;
 
-import lombok.val;
-
 /**
  * @since 1.x {@index}
  */
@@ -56,7 +54,7 @@ public abstract class MenuBarsAbstract implements MenuBars, Serializable {
     @XmlTransient
     public LinkedHashMap<String, ServiceActionLayoutData> getAllServiceActionsByObjectTypeAndId() {
 
-        val serviceActionsByObjectTypeAndId =
+        var serviceActionsByObjectTypeAndId =
                 new LinkedHashMap<String, ServiceActionLayoutData>();
 
         visit(serviceActionLayoutData -> {
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXml.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXml.java
index 56ff08cd1f..866ab428f8 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXml.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXml.java
@@ -32,7 +32,6 @@ import org.apache.causeway.applib.value.Clob;
 import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Mixin that provides the ability to download a view model as XML.
@@ -73,7 +72,7 @@ public class Dto_downloadXml {
                     describedAs = DtoMixinConstants.FILENAME_PROPERTY_DESCRIPTION)
             final String fileName) {
 
-        val xmlString = jaxbService.toXml(holder);
+        var xmlString = jaxbService.toXml(holder);
         return Clob.of(fileName, CommonMimeType.XML, xmlString);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXsd.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXsd.java
index 5a3cf812b2..4bbf27d5e7 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXsd.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/dto/Dto_downloadXsd.java
@@ -38,7 +38,6 @@ import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 import org.apache.causeway.commons.io.ZipUtils;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Mixin that provides the ability to download the XSD schema for a view model
@@ -91,10 +90,10 @@ public class Dto_downloadXsd {
 
             final CausewaySchemas causewaySchemas) {
 
-        val schemaMap = jaxbService.toXsd(holder, causewaySchemas);
+        var schemaMap = jaxbService.toXsd(holder, causewaySchemas);
 
         if(schemaMap.isEmpty()) {
-            val msg = String.format(
+            var msg = String.format(
                     "No schemas were generated for %s; programming error?",
                     holder.getClass().getName());
             messageService.warnUser(msg);
@@ -102,15 +101,15 @@ public class Dto_downloadXsd {
         }
 
         if(schemaMap.size() == 1) {
-            val xmlString = schemaMap.values().iterator().next();
+            var xmlString = schemaMap.values().iterator().next();
             return Clob.of(fileName, CommonMimeType.XSD, xmlString);
         }
 
-        val zipBuilder = ZipUtils.zipEntryBuilder();
+        var zipBuilder = ZipUtils.zipEntryBuilder();
 
         for (Map.Entry<String, String> entry : schemaMap.entrySet()) {
-            val namespaceUri = entry.getKey();
-            val schemaText = entry.getValue();
+            var namespaceUri = entry.getKey();
+            var schemaText = entry.getValue();
             zipBuilder.addAsUtf8(zipEntryNameFor(namespaceUri), schemaText);
         }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/layout/Object_downloadLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/layout/Object_downloadLayout.java
index 6350671c4e..9e391ac376 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/layout/Object_downloadLayout.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/layout/Object_downloadLayout.java
@@ -37,7 +37,6 @@ import org.apache.causeway.applib.value.Clob;
 import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Provides the ability to download the serialized layout (eg. XML) for any domain
@@ -75,7 +74,7 @@ public class Object_downloadLayout {
             final LayoutExportStyle style,
             final CommonMimeType format) {
 
-        val xmlString = layoutService.objectLayout(holder.getClass(), style, format);
+        var xmlString = layoutService.objectLayout(holder.getClass(), style, format);
         return Clob.of(fileName, format, xmlString);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_downloadMetamodelXml.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_downloadMetamodelXml.java
index 76df897b48..a01337bdad 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_downloadMetamodelXml.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_downloadMetamodelXml.java
@@ -41,7 +41,6 @@ import org.apache.causeway.applib.value.Clob;
 import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Provides the ability to download the framework's internal
@@ -86,7 +85,7 @@ public class Object_downloadMetamodelXml {
         }
         final String namespace = logicalTypeIfAny.get().getNamespace();
 
-        val config = Config.builder()
+        var config = Config.builder()
                 .ignoreFallbackFacets(true)
                 .ignoreAbstractClasses(true)
                 .ignoreInterfaces(true)
@@ -94,14 +93,14 @@ public class Object_downloadMetamodelXml {
                 .build()
                 .withNamespacePrefix(namespace);
 
-        val metamodelDto = metaModelService.exportMetaModel(config);
+        var metamodelDto = metaModelService.exportMetaModel(config);
 
-        val className = holder.getClass().getName();
+        var className = holder.getClass().getName();
 
-        val domainClassDtos = metamodelDto.getDomainClassDto();
+        var domainClassDtos = metamodelDto.getDomainClassDto();
         domainClassDtos.removeIf(classDto->!Objects.equals(classDto.getId(), className));
 
-        val xmlString = jaxbService.toXml(metamodelDto);
+        var xmlString = jaxbService.toXml(metamodelDto);
 
         return Clob.of(fileName, CommonMimeType.XML, xmlString);
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_logicalTypeName.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_logicalTypeName.java
index f2eb8a688b..378ca718d8 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_logicalTypeName.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_logicalTypeName.java
@@ -30,7 +30,6 @@ import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.applib.services.metamodel.MetaModelService;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Contributes a property exposing the logical object type of the domain
@@ -71,13 +70,13 @@ public class Object_logicalTypeName {
     extends org.apache.causeway.applib.CausewayModuleApplib.PropertyDomainEvent<Object_logicalTypeName, String> {}
 
     @MemberSupport public String prop() {
-        val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
+        var bookmark = bookmarkService.bookmarkForElseFail(this.holder);
         return bookmark.getLogicalTypeName();
     }
 
     @MemberSupport public boolean hideProp() {
-        val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
-        val beanSort = metaModelService.sortOf(bookmark, MetaModelService.Mode.RELAXED);
+        var bookmark = bookmarkService.bookmarkForElseFail(this.holder);
+        var beanSort = metaModelService.sortOf(bookmark, MetaModelService.Mode.RELAXED);
         return !beanSort.isEntity() && !beanSort.isViewModel();
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_objectIdentifier.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_objectIdentifier.java
index 2c19262eae..e246cc7463 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -30,7 +30,6 @@ import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.applib.services.metamodel.MetaModelService;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Contributes a property exposing the internal identifier of the domain
@@ -71,12 +70,12 @@ public class Object_objectIdentifier {
     extends org.apache.causeway.applib.CausewayModuleApplib.PropertyDomainEvent<Object_objectIdentifier, String> {}
 
     @MemberSupport public String prop() {
-        val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
+        var bookmark = bookmarkService.bookmarkForElseFail(this.holder);
         return bookmark.getIdentifier();
     }
 
     @MemberSupport public boolean hideProp() {
-        val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
+        var bookmark = bookmarkService.bookmarkForElseFail(this.holder);
         return !metaModelService.sortOf(bookmark, MetaModelService.Mode.RELAXED).isEntity();
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/mixins/rest/Object_openRestApi.java b/api/applib/src/main/java/org/apache/causeway/applib/mixins/rest/Object_openRestApi.java
index ec77a416a3..c212ecc889 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/mixins/rest/Object_openRestApi.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/mixins/rest/Object_openRestApi.java
@@ -33,7 +33,6 @@ import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.applib.value.LocalResourcePath;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Provides the ability to navigate to the corresponding URL of this domain
@@ -64,11 +63,11 @@ public class Object_openRestApi {
     private final Object holder;
 
     @MemberSupport public LocalResourcePath act() {
-        val bookmark = bookmarkService.bookmarkForElseFail(holder);
-        val logicalTypeName = bookmark.getLogicalTypeName();
-        val objId = bookmark.getIdentifier();
+        var bookmark = bookmarkService.bookmarkForElseFail(holder);
+        var logicalTypeName = bookmark.getLogicalTypeName();
+        var objId = bookmark.getIdentifier();
 
-        val restfulPathIfAny = restfulPathProvider.getRestfulPath();
+        var restfulPathIfAny = restfulPathProvider.getRestfulPath();
 
         final String format = restfulPathIfAny
                 .map(path -> String.format("%s/objects/%s/%s", path, logicalTypeName, objId))
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/query/_NamedQueryDefault.java b/api/applib/src/main/java/org/apache/causeway/applib/query/_NamedQueryDefault.java
index e1ef60f4b8..35a7aa38d1 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/query/_NamedQueryDefault.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/query/_NamedQueryDefault.java
@@ -28,7 +28,6 @@ import org.apache.causeway.commons.internal.exceptions._Exceptions;
 
 import lombok.Getter;
 import lombok.NonNull;
-import lombok.val;
 
 final class _NamedQueryDefault<T> 
 extends _QueryAbstract<T>
@@ -73,7 +72,7 @@ implements NamedQuery<T> {
         if(parameterName.isEmpty()) {
             throw _Exceptions.illegalArgument("require parameterName to be non empty, got '%s'", parameterName);
         }
-        val params = parametersByName==null 
+        var params = parametersByName==null 
                 ? new HashMap<String, Object>()
                 : new HashMap<String, Object>(getParametersByName());
         params.put(parameterName, parameterValue);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeat/ApplicationFeatureId.java b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeat/ApplicationFeatureId.java
index b80aaf2b5c..84a6ba49b4 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeat/ApplicationFeatureId.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeat/ApplicationFeatureId.java
@@ -47,7 +47,6 @@ import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.Synchronized;
-import lombok.val;
 
 /**
  * Value type representing a namespace, type or member.
@@ -82,7 +81,7 @@ implements
 
     public static ApplicationFeatureId fromIdentifier(final @NonNull Identifier identifier) {
 
-        val logicalTypeName = identifier.getLogicalTypeName();
+        var logicalTypeName = identifier.getLogicalTypeName();
 
         if(identifier.getType().isClass()) {
             return newType(logicalTypeName);
@@ -113,7 +112,7 @@ implements
         if(logicalTypeSimpleName == null) {
             return newNamespace(namespace);
         }
-        val logicalTypeName = namespace + "." + logicalTypeSimpleName;
+        var logicalTypeName = namespace + "." + logicalTypeSimpleName;
         if(memberName == null) {
             return newType(logicalTypeName);
         }
@@ -121,7 +120,7 @@ implements
     }
 
     public static ApplicationFeatureId newNamespace(final String namespace) {
-        val featureId = new ApplicationFeatureId(ApplicationFeatureSort.NAMESPACE);
+        var featureId = new ApplicationFeatureId(ApplicationFeatureSort.NAMESPACE);
         featureId.namespace = namespace;
         featureId.typeSimpleName = null;
         featureId.logicalMemberName = null;
@@ -139,7 +138,7 @@ implements
     }
 
     public static ApplicationFeatureId newType(final String logicalTypeName) {
-        val featureId = new ApplicationFeatureId(ApplicationFeatureSort.TYPE);
+        var featureId = new ApplicationFeatureId(ApplicationFeatureSort.TYPE);
         initType(featureId, logicalTypeName);
         return featureId;
     }
@@ -153,20 +152,20 @@ implements
     }
 
     public static ApplicationFeatureId newMember(final String logicalTypeName, final String memberLogicalName) {
-        val featureId = new ApplicationFeatureId(ApplicationFeatureSort.MEMBER);
+        var featureId = new ApplicationFeatureId(ApplicationFeatureSort.MEMBER);
         initType(featureId, logicalTypeName);
         initMember(featureId, memberLogicalName);
         return featureId;
     }
 
     public static ApplicationFeatureId newMember(String fullyQualifiedLogicalName) {
-        val featureId = new ApplicationFeatureId(ApplicationFeatureSort.MEMBER);
-        val i = fullyQualifiedLogicalName.lastIndexOf("#");
+        var featureId = new ApplicationFeatureId(ApplicationFeatureSort.MEMBER);
+        var i = fullyQualifiedLogicalName.lastIndexOf("#");
         if(i == -1) {
             throw new IllegalArgumentException("Malformed, expected a '#': " + fullyQualifiedLogicalName);
         }
-        val logicalTypeName = fullyQualifiedLogicalName.substring(0, i);
-        val memberName = fullyQualifiedLogicalName.substring(i + 1);
+        var logicalTypeName = fullyQualifiedLogicalName.substring(0, i);
+        var memberName = fullyQualifiedLogicalName.substring(i + 1);
         initType(featureId, logicalTypeName);
         initMember(featureId, memberName);
         return featureId;
@@ -220,7 +219,7 @@ implements
      * wrapperFactory#unwrap(...) method, which is otherwise broken in Causeway 1.6.0
      */
     @ObjectSupport public String title() {
-        val buf = new TitleBuffer();
+        var buf = new TitleBuffer();
         buf.append(getFullyQualifiedName());
         return buf.toString();
     }
@@ -272,7 +271,7 @@ implements
 
     @Programmatic
     public String getFullyQualifiedName() {
-        val buf = new StringBuilder();
+        var buf = new StringBuilder();
         buf.append(getNamespace());
         if(getTypeSimpleName() != null) {
             buf.append(".").append(getTypeSimpleName());
@@ -288,7 +287,7 @@ implements
         if (getTypeSimpleName() == null) {
             return null;
         }
-        val buf = new StringBuilder();
+        var buf = new StringBuilder();
         if(!_Strings.isNullOrEmpty(getNamespace())) {
             buf.append(getNamespace()).append(".");
         }
@@ -309,7 +308,7 @@ implements
         if(sort.isType()) {
             return ApplicationFeatureId.newNamespace(getNamespace());
         } else {
-            val namespace = getNamespace(); // eg aaa.bbb.ccc
+            var namespace = getNamespace(); // eg aaa.bbb.ccc
             if(!namespace.contains(".")) {
                 return null; // parent is root
             }
@@ -361,7 +360,7 @@ implements
 
     @Programmatic
     public Can<ApplicationFeatureId> getParentFeatureIds() {
-        val parent = getParentFeatureId();
+        var parent = getParentFeatureId();
         return parent!=null
                 ? getParentFeatureId().getPathIds()
                 : Can.empty();
@@ -374,7 +373,7 @@ implements
     }
 
     private static Can<ApplicationFeatureId> pathIds(final ApplicationFeatureId featureId) {
-        val featureIds = _Lists.<ApplicationFeatureId>newArrayList();
+        var featureIds = _Lists.<ApplicationFeatureId>newArrayList();
         visitSelfAndParents(featureId, featureIds::add);
         return Can.ofCollection(featureIds);
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationFeatureViewModel.java b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationFeatureViewModel.java
index 72cd229f2e..3a01466054 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationFeatureViewModel.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationFeatureViewModel.java
@@ -58,7 +58,6 @@ import org.apache.causeway.commons.internal.collections._Lists;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.Setter;
-import lombok.val;
 
 /**
  * View model identified by {@link ApplicationFeatureId} and backed by an {@link ApplicationFeature}.
@@ -109,7 +108,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
             return ApplicationType.class;
         case MEMBER:
 
-            val memberSort =
+            var memberSort =
             Optional.ofNullable(applicationFeatureRepository.findFeature(featureId))
                 .flatMap(ApplicationFeature::getMemberSort)
                 .orElse(null);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationTypeProperty.java b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationTypeProperty.java
index b80605b23e..096630b9ec 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationTypeProperty.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/appfeatui/ApplicationTypeProperty.java
@@ -35,8 +35,6 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.services.appfeat.ApplicationFeatureId;
 
-import lombok.val;
-
 /**
  * @since 2.x  {@index}
  */
@@ -133,7 +131,7 @@ public class ApplicationTypeProperty extends ApplicationTypeMember {
 
     @MaxLength
     public Integer getMaxLength() {
-        val maxLen = getFeature().getPropertyMaxLength();
+        var maxLen = getFeature().getPropertyMaxLength();
         return maxLen.isPresent()
                 ? maxLen.getAsInt()
                 : null; // unexpected code path, as this case should be hidden
@@ -165,7 +163,7 @@ public class ApplicationTypeProperty extends ApplicationTypeMember {
 
     @TypicalLength
     public Integer getTypicalLength() {
-        val maxLen = getFeature().getPropertyTypicalLength();
+        var maxLen = getFeature().getPropertyTypicalLength();
         return maxLen.isPresent()
                 ? maxLen.getAsInt()
                 : null; // unexpected code path, as this case should be hidden
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/Bookmark.java b/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/Bookmark.java
index f7e025a03a..9fa216b5d0 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/Bookmark.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/Bookmark.java
@@ -39,7 +39,6 @@ import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * String representation of any persistable or re-creatable object managed by the framework.
@@ -125,7 +124,7 @@ public final class Bookmark implements Oid {
         if(_Strings.isNullOrEmpty(str)) {
             return Optional.empty();
         }
-        val tokenizer = new StringTokenizer(str, SEPARATOR);
+        var tokenizer = new StringTokenizer(str, SEPARATOR);
         int tokenCount = tokenizer.countTokens();
         if(tokenCount==1) {
             return str.endsWith(SEPARATOR)
@@ -165,7 +164,7 @@ public final class Bookmark implements Oid {
     // -- TO DTO
 
     public OidDto toOidDto() {
-        val oidDto = new OidDto();
+        var oidDto = new OidDto();
         oidDto.setType(getLogicalTypeName());
         oidDto.setId(getIdentifier());
         return oidDto;
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/IdStringifier.java b/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/IdStringifier.java
index 5e9791d67d..7b09866d4a 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/IdStringifier.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/bookmark/IdStringifier.java
@@ -24,7 +24,6 @@ import org.apache.causeway.commons.internal.assertions._Assert;
 
 import lombok.Getter;
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * SPI to convert the identifier (primary key) of an entity, of a given type (eg Integer) into a string, and
@@ -153,7 +152,7 @@ public interface IdStringifier<T> {
         public final T destring(
                 final @NonNull Class<?> targetEntityClass,
                 final @NonNull String stringified) {
-            val suffix = removePrefix(stringified);
+            var suffix = removePrefix(stringified);
             return doDestring(suffix, targetEntityClass);
         }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/command/CommandExecutorService.java b/api/applib/src/main/java/org/apache/causeway/applib/services/command/CommandExecutorService.java
index 981148cf19..e666d948be 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/command/CommandExecutorService.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/command/CommandExecutorService.java
@@ -30,8 +30,6 @@ import org.apache.causeway.applib.services.user.UserMemento;
 import org.apache.causeway.commons.functional.Try;
 import org.apache.causeway.schema.cmd.v2.CommandDto;
 
-import lombok.val;
-
 /**
  * Provides a mechanism to execute a {@link Command}.
  *
@@ -83,8 +81,8 @@ public interface CommandExecutorService {
         ;
 
         private static Instant timestampOf(final CommandDto commandDto) {
-            val timestampGc = commandDto.getTimestamp();
-            val javaSqlTimestamp = JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(timestampGc);
+            var timestampGc = commandDto.getTimestamp();
+            var javaSqlTimestamp = JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(timestampGc);
             return javaSqlTimestamp.toInstant();
         }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/commanddto/conmap/ContentMappingServiceForCommandDto.java b/api/applib/src/main/java/org/apache/causeway/applib/services/commanddto/conmap/ContentMappingServiceForCommandDto.java
index 4eae138a4c..0fd31323d1 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/commanddto/conmap/ContentMappingServiceForCommandDto.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/commanddto/conmap/ContentMappingServiceForCommandDto.java
@@ -38,8 +38,6 @@ import org.apache.causeway.applib.services.conmap.ContentMappingService;
 import org.apache.causeway.applib.services.metamodel.MetaModelService;
 import org.apache.causeway.schema.cmd.v2.CommandDto;
 
-import lombok.val;
-
 /**
  * An implementation of {@link ContentMappingService}.
  * 
@@ -65,7 +63,7 @@ public class ContentMappingServiceForCommandDto implements ContentMappingService
 
     @Nullable
     CommandDto asProcessedDto(final Object object) {
-        val commandDto = asCommandDto(object);
+        var commandDto = asCommandDto(object);
         return asProcessedDto(object, commandDto);
     }
 
@@ -88,7 +86,7 @@ public class ContentMappingServiceForCommandDto implements ContentMappingService
         }
 
         // global processors
-        for (val commandDtoProcessorService : commandDtoProcessorServices) {
+        for (var commandDtoProcessorService : commandDtoProcessorServices) {
             commandDto = commandDtoProcessorService.process(domainObject, commandDto);
             if(commandDto == null) {
                 // any processor could return null, effectively breaking the chain.
@@ -97,7 +95,7 @@ public class ContentMappingServiceForCommandDto implements ContentMappingService
         }
 
         // specific processor for this specific member (action or property)
-        val logicalMemberId = commandDto.getMember().getLogicalMemberIdentifier();
+        var logicalMemberId = commandDto.getMember().getLogicalMemberIdentifier();
         final CommandDtoProcessor commandDtoProcessor =
                 metaModelService.commandDtoProcessorFor(logicalMemberId);
         if (commandDtoProcessor == null) {
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/error/SimpleTicket.java b/api/applib/src/main/java/org/apache/causeway/applib/services/error/SimpleTicket.java
index 62fed5acd1..b2eba02e31 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/error/SimpleTicket.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/error/SimpleTicket.java
@@ -26,8 +26,6 @@ import org.apache.causeway.commons.internal.base._Strings;
 
 import static org.apache.causeway.commons.internal.base._NullSafe.isEmpty;
 
-import lombok.val;
-
 /**
  * Response from the {@link ErrorReportingService}, containing information to show to the end-user.
  *
@@ -118,7 +116,7 @@ public class SimpleTicket implements Ticket {
     @Override
     public String getMarkup() {
 
-        val messageProperties = Map.<String, Object>of(
+        var messageProperties = Map.<String, Object>of(
                 "title", ifPresentMap(getDetails(),
                         details->"<h3>" + htmlEscape(details) + "</h3>"),
                 "kittenImg", ifPresentMap(getKittenUrl(),
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/ExceptionRecognizerAbstract.java b/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/ExceptionRecognizerAbstract.java
index e45e1ec089..26c2074075 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/ExceptionRecognizerAbstract.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/ExceptionRecognizerAbstract.java
@@ -32,7 +32,6 @@ import org.apache.causeway.commons.internal.exceptions._Exceptions;
 
 import lombok.Getter;
 import lombok.Setter;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -115,9 +114,9 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
                 log.info("Recognized exception, stacktrace : ", throwable);
             }
             if(ex instanceof TranslatableException) {
-                val translatableException = (TranslatableException) ex;
-                val translatableMessage = translatableException.getTranslatableMessage();
-                val translationContext = translatableException.getTranslationContext();
+                var translatableException = (TranslatableException) ex;
+                var translatableMessage = translatableException.getTranslatableMessage();
+                var translationContext = translatableException.getTranslationContext();
                 if(translatableMessage != null
                         && translationContext != null) {
                     return translatableMessage.translate(translationService, translationContext);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/Recognition.java b/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/Recognition.java
index c8df405e55..f3938ed984 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/Recognition.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/exceprecog/Recognition.java
@@ -27,7 +27,6 @@ import org.apache.causeway.applib.services.i18n.TranslationService;
 
 import lombok.NonNull;
 import lombok.Value;
-import lombok.val;
 
 /**
  * Represents a user-friendly representation of an exception that has been
@@ -53,7 +52,7 @@ public class Recognition {
             return Optional.empty();
         }
 
-        val nonNullCategory = category != null ? category : Category.OTHER;
+        var nonNullCategory = category != null ? category : Category.OTHER;
         return Optional.of(new Recognition(nonNullCategory, reason));
         // ...
     }
@@ -105,8 +104,8 @@ public class Recognition {
      */
     public String toMessage(@Nullable TranslationService translationService) {
 
-        val categoryLiteral = translate(getCategory().getFriendlyName(), translationService);
-        val reasonLiteral = translate(getReason(), translationService);
+        var categoryLiteral = translate(getCategory().getFriendlyName(), translationService);
+        var reasonLiteral = translate(getReason(), translationService);
 
         return String.format("[%s]: %s", categoryLiteral, reasonLiteral);
         // ...
@@ -121,7 +120,7 @@ public class Recognition {
      */
     public String toMessageNoCategory(@Nullable TranslationService translationService) {
 
-        val reasonLiteral = translate(getReason(), translationService);
+        var reasonLiteral = translate(getReason(), translationService);
         return String.format("%s", reasonLiteral);
         // ...
     }
@@ -133,7 +132,7 @@ public class Recognition {
                 || translationService == null) {
             return text;
         }
-        val context = TranslationContext.forClassName(Recognition.class);
+        var context = TranslationContext.forClassName(Recognition.class);
         return translationService.translate(context, text);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/i18n/TranslationContext.java b/api/applib/src/main/java/org/apache/causeway/applib/services/i18n/TranslationContext.java
index 26437c4265..b0ba60aaf7 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/i18n/TranslationContext.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/i18n/TranslationContext.java
@@ -27,7 +27,6 @@ import org.apache.causeway.commons.internal.reflection._GenericResolver.Resolved
 
 import lombok.Getter;
 import lombok.Value;
-import lombok.val;
 
 /**
  * @since 2.x {@index}
@@ -54,7 +53,7 @@ implements Serializable {
             final @Nullable Class<?> contextClass,
             final @Nullable String contextMethodName) {
 
-        val classContext = forClassName(contextClass);
+        var classContext = forClassName(contextClass);
         return _Strings.isNullOrEmpty(contextMethodName)
                 ? classContext
                 : named(classContext.getName() + "#" + contextMethodName + "()");
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/iactn/Execution.java b/api/applib/src/main/java/org/apache/causeway/applib/services/iactn/Execution.java
index 3fd0dd5464..74256d4851 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/iactn/Execution.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/iactn/Execution.java
@@ -41,7 +41,6 @@ import org.apache.causeway.schema.ixn.v2.MetricsDto;
 import org.apache.causeway.schema.ixn.v2.ObjectCountsDto;
 
 import lombok.Getter;
-import lombok.val;
 
 /**
  * Represents an action invocation/property edit as a node in a call-stack
@@ -180,7 +179,7 @@ public abstract class Execution<T extends MemberExecutionDto, E extends Abstract
             final ClockService clockService,
             final MetricsService metricsService) {
 
-        val startedAt = clockService.getClock().nowAsJavaSqlTimestamp();
+        var startedAt = clockService.getClock().nowAsJavaSqlTimestamp();
         syncMetrics(When.BEFORE, startedAt, metricsService);
         return startedAt;
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java b/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
index d7b7189918..df1a1204f7 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
@@ -33,7 +33,6 @@ import org.apache.causeway.commons.io.JaxbUtils;
 
 import lombok.NonNull;
 import lombok.SneakyThrows;
-import lombok.val;
 
 /**
  * Allows instances of JAXB-annotated classes to be marshalled to XML and
@@ -115,7 +114,7 @@ public interface JaxbService {
                 return null;
             }
             return JaxbUtils.tryRead(domainClass, xml, opts->{
-                for (val entry : _NullSafe.entrySet(unmarshallerProperties)) {
+                for (var entry : _NullSafe.entrySet(unmarshallerProperties)) {
                     opts.property(entry.getKey(), entry.getValue());
                 }
                 opts.unmarshallerConfigurer(this::configure);
@@ -130,12 +129,12 @@ public interface JaxbService {
                 final @NonNull Object domainObject,
                 final @Nullable Map<String, Object> marshallerProperties) {
 
-            val jaxbContext = domainObject instanceof DomainObjectList
+            var jaxbContext = domainObject instanceof DomainObjectList
                     ? jaxbContextForList((DomainObjectList)domainObject)
                     : JaxbUtils.jaxbContextFor(domainObject.getClass(), true);
 
             return Try.call(()->JaxbUtils.toStringUtf8(domainObject, opts->{
-                for (val entry : _NullSafe.entrySet(marshallerProperties)) {
+                for (var entry : _NullSafe.entrySet(marshallerProperties)) {
                     opts.property(entry.getKey(), entry.getValue());
                 }
                 opts.marshallerConfigurer(this::configure);
@@ -173,9 +172,9 @@ public interface JaxbService {
                 final @NonNull Object domainObject,
                 final @NonNull CausewaySchemas causewaySchemas) {
 
-            val jaxbContext = JaxbUtils.jaxbContextFor(domainObject.getClass(), true);
+            var jaxbContext = JaxbUtils.jaxbContextFor(domainObject.getClass(), true);
 
-            val outputResolver = new CatalogingSchemaOutputResolver(causewaySchemas);
+            var outputResolver = new CatalogingSchemaOutputResolver(causewaySchemas);
             jaxbContext.generateSchema(outputResolver);
 
             return outputResolver.asMap();
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/Config.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/Config.java
index a8375d1732..9393478615 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/Config.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/Config.java
@@ -24,7 +24,6 @@ import org.apache.causeway.commons.internal.collections._Sets;
 
 import lombok.Builder;
 import lombok.Getter;
-import lombok.val;
 
 
 /**
@@ -56,7 +55,7 @@ public class Config {
      * Returns a copy of this config with given namespace added.
      */
     public Config withNamespacePrefix(final String namespace) {
-        val newConfig = asBuilder().build();
+        var newConfig = asBuilder().build();
         newConfig.namespacePrefixes.add(namespace);
         return newConfig;
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/DomainModel.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/DomainModel.java
index 8869c5957e..a0e9eed84b 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/DomainModel.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/DomainModel.java
@@ -25,8 +25,6 @@ import org.springframework.lang.Nullable;
 
 import org.apache.causeway.commons.internal.collections._Multimaps;
 
-import lombok.val;
-
 /**
  *
  * @since 1.x {@index}
@@ -42,7 +40,7 @@ public interface DomainModel {
             return;
         }
 
-        val membersByLogicalType = _Multimaps.<String, DomainMember>newListMultimap();
+        var membersByLogicalType = _Multimaps.<String, DomainMember>newListMultimap();
 
         getDomainMembers().forEach(member->
             membersByLogicalType.putElement(member.getLogicalTypeName(), member));
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/MetaModelServiceMenu.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/MetaModelServiceMenu.java
index 87ca4373cf..1519369d92 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/MetaModelServiceMenu.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/MetaModelServiceMenu.java
@@ -50,8 +50,6 @@ import org.apache.causeway.commons.internal.collections._Sets;
 import org.apache.causeway.commons.io.JaxbUtils;
 import org.apache.causeway.schema.metamodel.v2.MetamodelDto;
 
-import lombok.val;
-
 /**
  * Provides a UI to allow domain model metadata (obtained from {@link MetaModelService}) to be downloaded.
  *
@@ -71,22 +69,22 @@ public class MetaModelServiceMenu {
     public enum ExportFormat implements BiFunction<String, MetaModelServiceAndConfig, Clob>  {
         ASCII{
             @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
-                val dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
-                val content = _AsciiExport.toAscii(dto).toString();
+                var dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
+                var content = _AsciiExport.toAscii(dto).toString();
                 return Clob.of(fileName, CommonMimeType.TXT, content);
             }
         },
         CSV{
             @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
-                val dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
-                val content = _CsvExport2.toCsv(dto);
+                var dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
+                var content = _CsvExport2.toCsv(dto);
                 return Clob.of(fileName, CommonMimeType.CSV, content);
             }
         },
         DETAILED_CSV{
             @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
 
-                val domainModel =  metaModelServiceAndConfig.metaModelService.getDomainModel();
+                var domainModel =  metaModelServiceAndConfig.metaModelService.getDomainModel();
                 final StringBuilder csv = _CsvExport.toCsv(domainModel);
 
                 return Clob.of(fileName, CommonMimeType.CSV, csv);
@@ -95,15 +93,15 @@ public class MetaModelServiceMenu {
         //XXX infinite recursion
 //        JSON{
 //        @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
-//                val dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
-//                val content = _Json.toString(dto);
+//                var dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
+//                var content = _Json.toString(dto);
 //                return Clob.of(fileName, CommonMimeType.JSON, content);
 //            }
 //        },
         XML{
             @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
-                val dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
-                val content = JaxbUtils.mapperFor(MetamodelDto.class, opts->opts
+                var dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
+                var content = JaxbUtils.mapperFor(MetamodelDto.class, opts->opts
                         .useContextCache(true)
                         .formattedOutput(true))
                 .toString(dto);
@@ -113,8 +111,8 @@ public class MetaModelServiceMenu {
         //XXX empty
 //        YAML{
 //        @Override public Clob apply(final String fileName, final MetaModelServiceAndConfig metaModelServiceAndConfig) {
-//                val dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
-//                val content = _Yaml.toString(dto).ifFailureFail().getValue().orElse("");
+//                var dto =  metaModelServiceAndConfig.metaModelService.exportMetaModel(metaModelServiceAndConfig.config);
+//                var content = _Yaml.toString(dto).ifFailureFail().getValue().orElse("");
 //                return Clob.of(fileName, CommonMimeType.YAML, content);
 //            }
 //        },
@@ -158,9 +156,9 @@ public class MetaModelServiceMenu {
                 final boolean zip
         ) {
 
-            val config = defaultConfig(includeInterfaces, namespaces);
+            var config = defaultConfig(includeInterfaces, namespaces);
 
-            val blob = exportFormat.apply(fileName, new MetaModelServiceAndConfig(metaModelService, config))
+            var blob = exportFormat.apply(fileName, new MetaModelServiceAndConfig(metaModelService, config))
                     .toBlob(UTF_8);
             return zip
                     ? blob.zip()
@@ -220,7 +218,7 @@ public class MetaModelServiceMenu {
 
         ) throws IOException {
 
-            val config = defaultConfig(includeInterfaces, namespaces);
+            var config = defaultConfig(includeInterfaces, namespaces);
 
             final MetamodelDto leftMetamodelDto =  metaModelService.exportMetaModel(config);
 
@@ -283,14 +281,14 @@ public class MetaModelServiceMenu {
     }
 
     private List<String> namespaceChoices() {
-        val domainModel = metaModelService.getDomainModel();
-        val domainMembers = domainModel.getDomainMembers();
-        val namespaces = _Sets.<String>newTreeSet();
-        for (val domainMember : domainMembers) {
-            val namespace = domainMember.getNamespace();
-            val namespaceParts = namespace.split("[.]");
-            val buf = new StringBuilder();
-            for (val part : namespaceParts) {
+        var domainModel = metaModelService.getDomainModel();
+        var domainMembers = domainModel.getDomainMembers();
+        var namespaces = _Sets.<String>newTreeSet();
+        for (var domainMember : domainMembers) {
+            var namespace = domainMember.getNamespace();
+            var namespaceParts = namespace.split("[.]");
+            var buf = new StringBuilder();
+            for (var part : namespaceParts) {
                 if(buf.length() > 0) {
                     buf.append(".");
                 }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_AsciiExport.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_AsciiExport.java
index 4ae71a113e..817f49c55a 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_AsciiExport.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_AsciiExport.java
@@ -30,14 +30,13 @@ import org.apache.causeway.schema.metamodel.v2.FacetHolder.Facets;
 import org.apache.causeway.schema.metamodel.v2.MetamodelDto;
 import org.apache.causeway.schema.metamodel.v2.Property;
 
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 @UtilityClass
 class _AsciiExport {
 
     StringBuilder toAscii(MetamodelDto metamodelDto) {
-        val sb = new StringBuilder();
+        var sb = new StringBuilder();
 
         metamodelDto
             .getDomainClassDto()
@@ -70,7 +69,7 @@ class _AsciiExport {
 
     private void toAscii(final String prefix, @Nullable Facets facets, final StringBuilder sb) {
 
-        val attrPrefix = _Strings.of(prefix.length()-2, ' ') + "  | ";
+        var attrPrefix = _Strings.of(prefix.length()-2, ' ') + "  | ";
 
         Optional.ofNullable(facets)
         .map(fac->fac.getFacet())
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_CsvExport2.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_CsvExport2.java
index 690234fc87..984e63e4b8 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_CsvExport2.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_CsvExport2.java
@@ -29,14 +29,13 @@ import org.apache.causeway.schema.metamodel.v2.DomainClassDto;
 import org.apache.causeway.schema.metamodel.v2.MetamodelDto;
 import org.apache.causeway.schema.metamodel.v2.Property;
 
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 @UtilityClass
 class _CsvExport2 {
 
     StringBuilder toCsv(final MetamodelDto metamodelDto) {
-        val sb = new StringBuilder();
+        var sb = new StringBuilder();
 
         sb.append(header()).append("\n");
 
@@ -72,7 +71,7 @@ class _CsvExport2 {
     }
 
     private void appendCsvRow(final DomainClassDto typeDto, final Property prop, final StringBuilder sb) {
-        val rowString =  Stream.of(
+        var rowString =  Stream.of(
                 typeDto.getId(),
                 Optional.ofNullable(typeDto.isService()).orElse(false) ? "Y" : "",
                 "prop",
@@ -85,7 +84,7 @@ class _CsvExport2 {
     }
 
     private void appendCsvRow(final DomainClassDto typeDto, final Collection coll, final StringBuilder sb) {
-        val rowString =  Stream.of(
+        var rowString =  Stream.of(
                 typeDto.getId(),
                 Optional.ofNullable(typeDto.isService()).orElse(false) ? "Y" : "",
                 "coll",
@@ -98,7 +97,7 @@ class _CsvExport2 {
     }
 
     private void appendCsvRow(final DomainClassDto typeDto, final Action act, final StringBuilder sb) {
-        val rowString =  Stream.of(
+        var rowString =  Stream.of(
                 typeDto.getId(),
                 Optional.ofNullable(typeDto.isService()).orElse(false) ? "Y" : "",
                 "act",
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_DiffExport.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_DiffExport.java
index 866233e767..4b273ff77d 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_DiffExport.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_DiffExport.java
@@ -39,7 +39,6 @@ import org.apache.causeway.schema.metamodel.v2.Member;
 import org.apache.causeway.schema.metamodel.v2.MetamodelDto;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 @UtilityClass
@@ -49,31 +48,31 @@ class _DiffExport {
             MetamodelDto leftMetamodelDto,
             MetamodelDto rightMetamodelDto) {
 
-        val leftTypesById = new TreeMap<String, DomainClassDto>();
-        val rightTypesById = new TreeMap<String, DomainClassDto>();
+        var leftTypesById = new TreeMap<String, DomainClassDto>();
+        var rightTypesById = new TreeMap<String, DomainClassDto>();
         
-        val facetsById = new TreeMap<String, Facet>();
+        var facetsById = new TreeMap<String, Facet>();
         final Consumer<? super Facet> facetCollector = facet->facetsById.put(facet.getId(), facet);
         
         visitAllFacets(leftMetamodelDto, facetCollector);
         visitAllFacets(rightMetamodelDto, facetCollector);
         
-        val sb = new StringBuilder();
+        var sb = new StringBuilder();
         
         // -- type intersection
         
-        val leftTypes = streamTypes(leftMetamodelDto)
+        var leftTypes = streamTypes(leftMetamodelDto)
                 .peek(type->leftTypesById.put(type.getId(), type))
                 .map(DomainClassDto::getId)
                 .collect(Collectors.toSet());
         
-        val rightTypes = streamTypes(rightMetamodelDto)
+        var rightTypes = streamTypes(rightMetamodelDto)
                 .peek(type->rightTypesById.put(type.getId(), type))
                 .map(DomainClassDto::getId)
                 .collect(Collectors.toSet());
         
-        val leftNotInRight = _Sets.minus(leftTypes, rightTypes);
-        val rightNotInLeft = _Sets.minus(rightTypes, leftTypes);
+        var leftNotInRight = _Sets.minus(leftTypes, rightTypes);
+        var rightNotInLeft = _Sets.minus(rightTypes, leftTypes);
         
         leftNotInRight
             .stream()
@@ -82,15 +81,15 @@ class _DiffExport {
             .stream()
             .forEach(typeId->sb.append(RIGHT_SYMBOL).append(" ").append(typeId).append("\n"));
 
-        val inLeftAndRight = _Sets.intersect(leftTypes, rightTypes);
+        var inLeftAndRight = _Sets.intersect(leftTypes, rightTypes);
                 
-        val leftTypeIntersection = inLeftAndRight
+        var leftTypeIntersection = inLeftAndRight
                 .stream()
                 .sorted()
                 .map(leftTypesById::get)
                 .collect(Can.toCan());
         
-        val rightTypeIntersection = inLeftAndRight
+        var rightTypeIntersection = inLeftAndRight
                 .stream()
                 .sorted()
                 .map(rightTypesById::get)
@@ -98,14 +97,14 @@ class _DiffExport {
         
         // -- member intersection
         
-        val leftMembersByKey = new TreeMap<String, Member>();
-        val rightMembersByKey = new TreeMap<String, Member>();
+        var leftMembersByKey = new TreeMap<String, Member>();
+        var rightMembersByKey = new TreeMap<String, Member>();
         
         leftTypeIntersection
         .stream()
         .forEach(type->streamMembers(type)
                 .forEach(m->{
-                    val key = memberKey(type, m);
+                    var key = memberKey(type, m);
                     leftMembersByKey.put(key, m);
                     m.setId(key); // rewrite id with key (that includes type id)
                 }));
@@ -114,13 +113,13 @@ class _DiffExport {
         .stream()
         .forEach(type->streamMembers(type)
                 .forEach(m->{
-                    val key = memberKey(type, m);
+                    var key = memberKey(type, m);
                     rightMembersByKey.put(key, m);
                     m.setId(key); // rewrite id with key (that includes type id)
                 }));
         
-        val leftNotInRightM = _Sets.minus(leftMembersByKey.keySet(), rightMembersByKey.keySet());
-        val rightNotInLeftM = _Sets.minus(rightMembersByKey.keySet(), leftMembersByKey.keySet());
+        var leftNotInRightM = _Sets.minus(leftMembersByKey.keySet(), rightMembersByKey.keySet());
+        var rightNotInLeftM = _Sets.minus(rightMembersByKey.keySet(), leftMembersByKey.keySet());
         
         leftNotInRightM
             .stream()
@@ -129,15 +128,15 @@ class _DiffExport {
             .stream()
             .forEach(memberKey->sb.append(RIGHT_SYMBOL).append(" ").append(memberKey).append("\n"));
         
-        val inLeftAndRightM = _Sets.intersect(leftMembersByKey.keySet(), rightMembersByKey.keySet());
+        var inLeftAndRightM = _Sets.intersect(leftMembersByKey.keySet(), rightMembersByKey.keySet());
         
-        val leftMemberIntersection = inLeftAndRightM
+        var leftMemberIntersection = inLeftAndRightM
                 .stream()
                 .sorted()
                 .map(leftMembersByKey::get)
                 .collect(Can.toCan());
         
-        val rightMemberIntersection = inLeftAndRightM
+        var rightMemberIntersection = inLeftAndRightM
                 .stream()
                 .sorted()
                 .map(rightMembersByKey::get)
@@ -148,7 +147,7 @@ class _DiffExport {
         facetsById
         .values()
         .forEach(facet->{
-            val diffModel = new DiffModel(f->f.getId().equals(facet.getId()), 
+            var diffModel = new DiffModel(f->f.getId().equals(facet.getId()), 
                     leftTypeIntersection, rightTypeIntersection,
                     leftMemberIntersection, rightMemberIntersection);
             diff(diffModel, leftMetamodelDto, rightMetamodelDto);
@@ -205,8 +204,8 @@ class _DiffExport {
     private void diffFacets(DiffModel diffModel, String typeOrMemberId, 
             Facets leftFacets, Facets rightFacets) {
         
-        val leftFacet = findFirstFacet(leftFacets, diffModel.facetFilter);
-        val rightFacet = findFirstFacet(rightFacets, diffModel.facetFilter);
+        var leftFacet = findFirstFacet(leftFacets, diffModel.facetFilter);
+        var rightFacet = findFirstFacet(rightFacets, diffModel.facetFilter);
         
         if(leftFacet.isPresent()) {
             if(!rightFacet.isPresent()) {
@@ -224,13 +223,13 @@ class _DiffExport {
     }
     
     private void reportFacetNotInOther(DiffModel diffModel, String symbol, String typeOrMemberId, Facet facet) {
-        val sb = diffModel.sb;
-        val attrNameValueLiterals = streamFacetAttr(facet)
+        var sb = diffModel.sb;
+        var attrNameValueLiterals = streamFacetAttr(facet)
                 .map(attr->attr.getName() + " " + attr.getValue())
                 .collect(Can.toCan());
 
         // even if there are no attributes, we still want to report that there is a difference with facets 
-        val attrNameValueOrEmptyLiterals =
+        var attrNameValueOrEmptyLiterals =
                 attrNameValueLiterals.isEmpty()
                     ? Can.of("<no-attributes>")
                     : attrNameValueLiterals;
@@ -245,22 +244,22 @@ class _DiffExport {
 
     private void diffAttrs(DiffModel diffModel, String typeOrMemberId, Facet leftFacet, Facet rightFacet) {
         
-        val sb = diffModel.sb;
-        val leftAttrByName = new TreeMap<String, FacetAttr>();
-        val rightAttrByName = new TreeMap<String, FacetAttr>();
+        var sb = diffModel.sb;
+        var leftAttrByName = new TreeMap<String, FacetAttr>();
+        var rightAttrByName = new TreeMap<String, FacetAttr>();
 
-        val leftAttrNames = streamFacetAttr(leftFacet)
+        var leftAttrNames = streamFacetAttr(leftFacet)
                 .peek(attr->leftAttrByName.put(attr.getName(), attr))
                 .map(FacetAttr::getName)
                 .collect(Collectors.toSet());
         
-        val rightAttrNames = streamFacetAttr(rightFacet)
+        var rightAttrNames = streamFacetAttr(rightFacet)
                 .peek(attr->rightAttrByName.put(attr.getName(), attr))
                 .map(FacetAttr::getName)
                 .collect(Collectors.toSet());
         
-        val leftNotInRight = _Sets.minus(leftAttrNames, rightAttrNames);
-        val rightNotInLeft = _Sets.minus(rightAttrNames, leftAttrNames);
+        var leftNotInRight = _Sets.minus(leftAttrNames, rightAttrNames);
+        var rightNotInLeft = _Sets.minus(rightAttrNames, leftAttrNames);
         
         leftNotInRight
             .stream()
@@ -277,15 +276,15 @@ class _DiffExport {
                     .append(" ").append(rightAttrByName.get(attrName).getValue())
                     .append("\n"));
 
-        val inLeftAndRight = _Sets.intersect(leftAttrNames, rightAttrNames);
+        var inLeftAndRight = _Sets.intersect(leftAttrNames, rightAttrNames);
                 
-        val leftAttrIntersection = inLeftAndRight
+        var leftAttrIntersection = inLeftAndRight
                 .stream()
                 .sorted()
                 .map(leftAttrByName::get)
                 .collect(Can.toCan());
         
-        val rightAttrIntersection = inLeftAndRight
+        var rightAttrIntersection = inLeftAndRight
                 .stream()
                 .sorted()
                 .map(rightAttrByName::get)
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/ObjectGraph.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/ObjectGraph.java
index 3e36c7c418..902d0885a0 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/ObjectGraph.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/ObjectGraph.java
@@ -45,7 +45,6 @@ import org.apache.causeway.commons.io.DataSource;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.With;
-import lombok.val;
 import lombok.experimental.Accessors;
 import lombok.experimental.UtilityClass;
 
@@ -176,7 +175,7 @@ public class ObjectGraph {
 
     public String render(final @Nullable ObjectGraph.Renderer renderer) {
         if(renderer==null) return "";
-        val sb = new StringBuilder();
+        var sb = new StringBuilder();
         renderer.render(sb, this);
         return sb.toString();
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/_ObjectGraphRelationMerger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/_ObjectGraphRelationMerger.java
index fc5164e6e4..d1a8adf3db 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/_ObjectGraphRelationMerger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/objgraph/_ObjectGraphRelationMerger.java
@@ -26,17 +26,15 @@ import java.util.stream.Collectors;
 import org.apache.causeway.commons.internal.collections._Multimaps;
 import org.apache.causeway.commons.internal.collections._Multimaps.ListMultimap;
 
-import lombok.val;
-
 class _ObjectGraphRelationMerger implements ObjectGraph.Transformer {
 
     @Override
     public ObjectGraph transform(final ObjectGraph objGraph) {
-        val transformed = new ObjectGraph();
+        var transformed = new ObjectGraph();
         transformed.objects().addAll(objGraph.objects());
 
-        val objectById = objGraph.objectById();
-        val relationsToRender = new ArrayList<ObjectGraph.Relation>(objGraph.relations());
+        var objectById = objGraph.objectById();
+        var relationsToRender = new ArrayList<ObjectGraph.Relation>(objGraph.relations());
         consolidateAssociationRelations(objectById, relationsToRender);
         consolidateBidirRelations(objectById, relationsToRender);
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/CommandLogger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/CommandLogger.java
index 3760ca8431..0e6aaac842 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/CommandLogger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/CommandLogger.java
@@ -30,7 +30,6 @@ import org.apache.causeway.applib.services.command.Command;
 import org.apache.causeway.applib.services.publishing.spi.CommandSubscriber;
 import org.apache.causeway.applib.util.schema.CommandDtoUtils;
 
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -70,8 +69,8 @@ public class CommandLogger implements CommandSubscriber {
     }
 
     private static void on(String verb, Command command) {
-        val commandDto = command.getCommandDto();
-        val xml = CommandDtoUtils.dtoMapper().toString(commandDto);
+        var commandDto = command.getCommandDto();
+        var xml = CommandDtoUtils.dtoMapper().toString(commandDto);
 
         log.debug("{}: {} \n{}",
                 verb,
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderCollectionLogger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderCollectionLogger.java
index 563368fbd4..6937780446 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderCollectionLogger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderCollectionLogger.java
@@ -39,7 +39,6 @@ import org.apache.causeway.applib.services.user.UserService;
 import org.apache.causeway.commons.internal.base._NullSafe;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -82,7 +81,7 @@ public class PageRenderCollectionLogger implements PageRenderSubscriber {
     public void onRenderedCollection(final Supplier<List<Bookmark>> bookmarkSupplier) {
         final var bookmarksStringified = bookmarksStringified(bookmarkSupplier);
 
-        val timing = timings.get();
+        var timing = timings.get();
         if (log.isDebugEnabled()) {
             log.debug("rendered collection: [ {} ]  user: {}  took: {}ms", bookmarksStringified, userService.currentUserNameElseNobody(), timing.took());
         }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderDomainObjectLogger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderDomainObjectLogger.java
index 56bb8745b0..9281ea5887 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderDomainObjectLogger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderDomainObjectLogger.java
@@ -33,7 +33,6 @@ import org.apache.causeway.applib.services.publishing.spi.PageRenderSubscriber;
 import org.apache.causeway.applib.services.user.UserService;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -74,7 +73,7 @@ public class PageRenderDomainObjectLogger implements PageRenderSubscriber {
     @Override
     public void onRenderedDomainObject(final Bookmark bookmark) {
         if(log.isInfoEnabled()) {
-            val timing = timings.get();
+            var timing = timings.get();
             // until @ActionLayout#redirectPolicy is reintroduced (if it ever is), there's no point in querying for the numberEntitiesDirtied,
             // because (for Wicket viewer at least), the rendering is in a separate request to any modifying action.
             log.info("rendered object: [ \"{}\" ]  user: {}  took: {}ms  numEntitiesLoaded: {}", bookmark.stringify(), userService.currentUserNameElseNobody(), timing.took(), metricsService.numberEntitiesLoaded());
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderValueLogger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderValueLogger.java
index 224a31b65c..89b63ddcc4 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderValueLogger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/publishing/log/PageRenderValueLogger.java
@@ -31,7 +31,6 @@ import org.apache.causeway.applib.services.publishing.spi.PageRenderSubscriber;
 import org.apache.causeway.applib.services.user.UserService;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -70,7 +69,7 @@ public class PageRenderValueLogger implements PageRenderSubscriber {
     @Override
     public void onRenderedValue(final Object value) {
         if(log.isDebugEnabled()) {
-            val timing = timings.get();
+            var timing = timings.get();
             log.debug("rendered value: [ \"{}\" ]  user: {}  took: {}ms", value, userService.currentUserNameElseNobody(), timing.took());
         }
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/registry/InstanceByPriorityComparator.java b/api/applib/src/main/java/org/apache/causeway/applib/services/registry/InstanceByPriorityComparator.java
index 922038d4dc..459c274083 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/registry/InstanceByPriorityComparator.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/registry/InstanceByPriorityComparator.java
@@ -27,8 +27,6 @@ import org.springframework.context.annotation.Primary;
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 import org.apache.causeway.commons.internal.reflection._Reflect;
 
-import lombok.val;
-
 /**
  * A comparator that orders objects according to their {@link Priority} annotation.
  *
@@ -57,15 +55,15 @@ public class InstanceByPriorityComparator implements Comparator<Object> {
             return 1; // o1 earlier (higher) priority than o2
         }
 
-        val primaryAnnot1 = _Reflect.getAnnotation(o1.getClass(), Primary.class);
-        val primaryAnnot2 = _Reflect.getAnnotation(o2.getClass(), Primary.class);
+        var primaryAnnot1 = _Reflect.getAnnotation(o1.getClass(), Primary.class);
+        var primaryAnnot2 = _Reflect.getAnnotation(o2.getClass(), Primary.class);
         if(primaryAnnot1 != null && primaryAnnot2 == null) { return +1; }
         if(primaryAnnot1 == null && primaryAnnot2 != null) { return -1; }
 
-        val prioAnnot1 = _Reflect.getAnnotation(o1.getClass(), Priority.class);
-        val prioAnnot2 = _Reflect.getAnnotation(o2.getClass(), Priority.class);
-        val prio1 = prioAnnot1 != null ? prioAnnot1.value() : PriorityPrecedence.LAST;
-        val prio2 = prioAnnot2 != null ? prioAnnot2.value() : PriorityPrecedence.LAST;
+        var prioAnnot1 = _Reflect.getAnnotation(o1.getClass(), Priority.class);
+        var prioAnnot2 = _Reflect.getAnnotation(o2.getClass(), Priority.class);
+        var prio1 = prioAnnot1 != null ? prioAnnot1.value() : PriorityPrecedence.LAST;
+        var prio2 = prioAnnot2 != null ? prioAnnot2.value() : PriorityPrecedence.LAST;
         return Integer.compare(prio2, prio1);
     }
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/registry/ServiceRegistry.java b/api/applib/src/main/java/org/apache/causeway/applib/services/registry/ServiceRegistry.java
index bfc3a0d9b2..90a464ba22 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/registry/ServiceRegistry.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/registry/ServiceRegistry.java
@@ -33,8 +33,6 @@ import org.apache.causeway.commons.internal.base._Reduction;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.internal.ioc._SingletonBeanProvider;
 
-import lombok.val;
-
 /**
  * Collects together methods for injecting or looking up domain services
  * (either provided by the framework or application-specific) currently known
@@ -119,7 +117,7 @@ public interface ServiceRegistry {
      * </p>
      */
     default <T> Optional<T> lookupService(final Class<T> serviceClass, final Comparator<Object> comparator) {
-        val bin = select(serviceClass);
+        var bin = select(serviceClass);
         if(bin.isEmpty()) {
             return Optional.empty();
         }
@@ -128,7 +126,7 @@ public interface ServiceRegistry {
         }
         // dealing with ambiguity, get the one, with highest priority annotated
 
-        val toComparatorReduction =
+        var toComparatorReduction =
                 //TODO [2033] not tested yet, whether the 'direction' is correct < vs >
                 _Reduction.<T>of((max, next)-> {
                     final boolean b = comparator.compare(next, max) > 0;
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/repository/RepositoryService.java b/api/applib/src/main/java/org/apache/causeway/applib/services/repository/RepositoryService.java
index 51a1784a5d..664ca01170 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/repository/RepositoryService.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/repository/RepositoryService.java
@@ -29,7 +29,6 @@ import org.apache.causeway.applib.query.Query;
 import org.apache.causeway.applib.query.QueryRange;
 
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * Collects together methods for creating, persisting and searching for
@@ -134,7 +133,7 @@ public interface RepositoryService {
     default void persistAndFlush(final Object... domainObjects) {
         final int length = domainObjects.length;
         for (int i = 0; i < length; i++) {
-            val domainObject = domainObjects[i];
+            var domainObject = domainObjects[i];
             if (i < length - 1) {
                 // not at the end
                 persist(domainObject);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/session/SessionLogger.java b/api/applib/src/main/java/org/apache/causeway/applib/services/session/SessionLogger.java
index ca70f6ff35..ca24c5b1ee 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/session/SessionLogger.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/session/SessionLogger.java
@@ -30,7 +30,6 @@ import org.springframework.stereotype.Service;
 import org.apache.causeway.applib.CausewayModuleApplib;
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -58,7 +57,7 @@ public class SessionLogger implements SessionSubscriber {
 
         if(log.isDebugEnabled()) {
 
-            val msg = String.format(
+            var msg = String.format(
                     "User '%s' with sessionGuid '%s' (httpSessionId '%s') has logged %s at '%s'.%s",
                     username,
                     sessionGuid,
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/sudo/SudoService.java b/api/applib/src/main/java/org/apache/causeway/applib/services/sudo/SudoService.java
index 0ed9573177..29c19925a5 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/sudo/SudoService.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/sudo/SudoService.java
@@ -40,7 +40,6 @@ import org.apache.causeway.commons.functional.ThrowingRunnable;
 
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Allows a block of code to be executed within an arbitrary
@@ -98,19 +97,19 @@ public class SudoService {
             final @NonNull UnaryOperator<InteractionContext> sudoMapper,
             final @NonNull Callable<T> callable) {
 
-        val currentInteractionLayer = interactionLayerTracker.currentInteractionLayerElseFail();
-        val currentInteractionContext = currentInteractionLayer.getInteractionContext();
-        val sudoInteractionContext = sudoMapper.apply(currentInteractionContext);
+        var currentInteractionLayer = interactionLayerTracker.currentInteractionLayerElseFail();
+        var currentInteractionContext = currentInteractionLayer.getInteractionContext();
+        var sudoInteractionContext = sudoMapper.apply(currentInteractionContext);
 
         try {
-            for (val sudoListener : sudoListeners) {
+            for (var sudoListener : sudoListeners) {
                 sudoListener.beforeCall(currentInteractionContext, sudoInteractionContext);
             }
 
             return interactionService.call(sudoInteractionContext, callable);
 
         } finally {
-            for (val sudoListener : sudoListeners) {
+            for (var sudoListener : sudoListeners) {
                 sudoListener.afterCall(sudoInteractionContext, currentInteractionContext);
             }
         }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/user/ImpersonateMenu.java b/api/applib/src/main/java/org/apache/causeway/applib/services/user/ImpersonateMenu.java
index fdc1991b7f..a5e65d1264 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/user/ImpersonateMenu.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/user/ImpersonateMenu.java
@@ -39,7 +39,6 @@ import org.apache.causeway.applib.services.factory.FactoryService;
 import org.apache.causeway.applib.services.message.MessageService;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Provides the UI to allow a current user to be impersonated.
@@ -144,7 +143,7 @@ public class ImpersonateMenu {
                 final String multiTenancyToken) {
 
             // adds generic authorized user role to indicate 'authorized' (as required by Wicket viewer)
-            val roleNamesCopy = new ArrayList<>(roleNames);
+            var roleNamesCopy = new ArrayList<>(roleNames);
             if(!roleNamesCopy.contains(UserMemento.AUTHORIZED_USER_ROLE)) {
                 roleNamesCopy.add(UserMemento.AUTHORIZED_USER_ROLE);
             }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/user/RoleMemento.java b/api/applib/src/main/java/org/apache/causeway/applib/services/user/RoleMemento.java
index 0ea107ad6a..9e64d33a12 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/user/RoleMemento.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/user/RoleMemento.java
@@ -37,7 +37,6 @@ import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.Value;
-import lombok.val;
 
 /**
  * Immutable serializable value held by {@link UserMemento}.
@@ -82,7 +81,7 @@ public class RoleMemento implements Serializable {
         @Order(PriorityPrecedence.LATE)
         @EventListener(RoleMemento.TitleUiEvent.class)
         public void on(final RoleMemento.TitleUiEvent ev) {
-            val roleMemento = ev.getSource();
+            var roleMemento = ev.getSource();
             assert roleMemento != null;
             ev.setTitle(roleMemento.getName());
         }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserMemento.java b/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserMemento.java
index a2138f30f0..a016eb7d0d 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserMemento.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserMemento.java
@@ -56,7 +56,6 @@ import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.With;
-import lombok.val;
 
 /**
  * Immutable serializable value holding details about a user and its roles.
@@ -155,7 +154,7 @@ implements Serializable {
         @Order(PriorityPrecedence.LATE)
         @EventListener(UserMemento.TitleUiEvent.class)
         public void on(final UserMemento.TitleUiEvent ev) {
-            val userMemento = Objects.requireNonNull(ev.getSource());
+            var userMemento = Objects.requireNonNull(ev.getSource());
             ev.setTitle(userMemento.nameFormatted());
         }
     }
@@ -361,7 +360,7 @@ implements Serializable {
 
     @Programmatic
     public UserLocale asUserLocale() {
-        val main = languageLocale!=null
+        var main = languageLocale!=null
                 ? languageLocale
                 : Locale.getDefault();
         return UserLocale.builder()
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserService.java b/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserService.java
index 97e1f4d9e9..3809eac27f 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserService.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/user/UserService.java
@@ -40,7 +40,6 @@ import org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 
 import lombok.RequiredArgsConstructor;
-import lombok.val;
 
 /**
  * Allows the domain object to obtain the identity of the user interacting with
@@ -97,7 +96,7 @@ public class UserService {
      * {@link InteractionContext} of the current thread).
      */
     public Optional<UserMemento> currentUser() {
-        val currentUser = interactionLayerTrackerProvider.get()
+        var currentUser = interactionLayerTrackerProvider.get()
                     .currentInteractionContext()
                     .map(InteractionContext::getUser);
 
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionAdapter.java b/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionAdapter.java
index cc57cb96b4..91b9a31213 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionAdapter.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionAdapter.java
@@ -69,7 +69,7 @@ public class InteractionAdapter implements InteractionListener {
     public void collectionAccessed(final CollectionAccessEvent ev) {
     }
 
-//XXX[CAUSEWAY-3084] - removal of collection modification events
+//XXX[CAUSEWAY-3084] - removar of collection modification events
 //    @Override
 //    public void collectionAddedTo(final CollectionAddToEvent ev) {
 //    }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionListener.java b/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionListener.java
index 31e133dfea..e8bd68ad2e 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionListener.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/wrapper/listeners/InteractionListener.java
@@ -126,7 +126,7 @@ public interface InteractionListener {
      */
     void collectionAccessed(CollectionAccessEvent ev);
 
-//XXX[CAUSEWAY-3084] - removal of collection modification events
+//XXX[CAUSEWAY-3084] - removar of collection modification events
 //    /**
 //     * An object was added to the collection (or an attempt to add it was made).
 //     *
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/xactn/TransactionalProcessor.java b/api/applib/src/main/java/org/apache/causeway/applib/services/xactn/TransactionalProcessor.java
index 9161ca556f..e7f979ce0c 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/services/xactn/TransactionalProcessor.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/services/xactn/TransactionalProcessor.java
@@ -27,8 +27,6 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.apache.causeway.commons.functional.ThrowingRunnable;
 import org.apache.causeway.commons.functional.Try;
 
-import lombok.val;
-
 /**
  * Provides the mechanism to run a block of code within a transaction boundary,
  * using Spring Framework's transaction primitives (such as
@@ -75,7 +73,7 @@ public interface TransactionalProcessor {
      * @return {@link Try} of calling given {@code callable}
      */
     default <T> Try<T> callTransactional(final Propagation propagation, final Callable<T> callable) {
-        val def = new DefaultTransactionDefinition();
+        var def = new DefaultTransactionDefinition();
         def.setPropagationBehavior(propagation.value());
         return callTransactional(def, callable);
     }
@@ -108,7 +106,7 @@ public interface TransactionalProcessor {
      * @return {@link Try} of calling given {@code callable}
      */
     default <T> Try<T> callWithinCurrentTransactionElseCreateNew(final Callable<T> callable) {
-        val def = new DefaultTransactionDefinition();
+        var def = new DefaultTransactionDefinition();
         def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
         return callTransactional(def, callable);
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification.java b/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification.java
index 7c2837ec3b..b5b1af708e 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification.java
@@ -22,8 +22,6 @@ import org.apache.causeway.applib.annotation.Programmatic;
 import org.apache.causeway.commons.internal.reflection._ClassCache;
 import org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedMethod;
 
-import lombok.val;
-
 /**
  * Adapter to make it easy to write {@link Specification}s.
  *
@@ -54,11 +52,11 @@ public abstract class AbstractSpecification<T> implements Specification {
 
     private static Class<?> findExpectedType(final Class<?> fromClass) {
 
-        val classCache = _ClassCache.getInstance();
+        var classCache = _ClassCache.getInstance();
 
         for (Class<?> c = fromClass; c != Object.class; c = c.getSuperclass()) {
 
-            val methodFound = classCache
+            var methodFound = classCache
             .streamResolvedMethods(c)
             .filter(AbstractSpecification::isSatisfiesSafelyMethod)
             .findFirst()
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification2.java b/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification2.java
index 4522291307..2a65c77efd 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification2.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/spec/AbstractSpecification2.java
@@ -24,8 +24,6 @@ import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.commons.internal.reflection._ClassCache;
 import org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedMethod;
 
-import lombok.val;
-
 /**
  * Adapter to make it easy to write {@link Specification}s.
  *
@@ -56,11 +54,11 @@ public abstract class AbstractSpecification2<T> implements Specification2 {
 
     private static Class<?> findExpectedType(final Class<?> fromClass) {
 
-        val classCache = _ClassCache.getInstance();
+        var classCache = _ClassCache.getInstance();
 
         for (Class<?> c = fromClass; c != Object.class; c = c.getSuperclass()) {
 
-            val methodFound = classCache
+            var methodFound = classCache
             .streamResolvedMethods(c)
             .filter(AbstractSpecification2::isSatisfiesTranslatableSafelyMethod)
             .findFirst()
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/util/Enums.java b/api/applib/src/main/java/org/apache/causeway/applib/util/Enums.java
index 0915986aed..a6f6559739 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/util/Enums.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/util/Enums.java
@@ -25,7 +25,6 @@ import org.springframework.lang.Nullable;
 
 import org.apache.causeway.commons.internal.base._Strings;
 
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 /**
@@ -72,8 +71,8 @@ public final class Enums {
     }
 
     public static String enumToCamelCase(final Enum<?> anEnum) {
-        val name = anEnum.name();
-        val builder = new StringBuilder();
+        var name = anEnum.name();
+        var builder = new StringBuilder();
         boolean nextUpper = false;
         for (final char c : name.toCharArray()) {
             if (c == '_') {
@@ -89,7 +88,7 @@ public final class Enums {
     public static <T extends Enum<?>> Optional<T> parseFriendlyName(
             final Class<T> correspondingClass,
             final @Nullable String text) {
-        val input = _Strings.blankToNullOrTrim(text);
+        var input = _Strings.blankToNullOrTrim(text);
         if(input==null) {
             return Optional.empty();
         }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/util/schema/CommonDtoUtils.java b/api/applib/src/main/java/org/apache/causeway/applib/util/schema/CommonDtoUtils.java
index 26bbe8496b..6d75d2e157 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/util/schema/CommonDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/util/schema/CommonDtoUtils.java
@@ -59,7 +59,6 @@ import org.apache.causeway.schema.common.v2.ValueWithTypeDto;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 /**
@@ -73,7 +72,7 @@ public final class CommonDtoUtils {
     public static ValueWithTypeDto getFundamentalValueFromJson(
             final @NonNull ValueType valueType,
             final @Nullable String json) {
-        val valueDto = new ValueWithTypeDto();
+        var valueDto = new ValueWithTypeDto();
         valueDto.setType(valueType);
 
         if(_Strings.isNullOrEmpty(json)) {
@@ -516,12 +515,12 @@ public final class CommonDtoUtils {
             final @Nullable ValueDto valueDto) {
 
         if(valueDto instanceof ValueWithTypeDto) {
-            val downCast = (ValueWithTypeDto) valueDto;
+            var downCast = (ValueWithTypeDto) valueDto;
             _Assert.assertEquals(valueType, downCast.getType());
             return downCast;
         }
 
-        val liftedDto = new ValueWithTypeDto();
+        var liftedDto = new ValueWithTypeDto();
         liftedDto.setType(valueType);
 
         if(valueDto==null) {
@@ -551,7 +550,7 @@ public final class CommonDtoUtils {
         if(entryIfAny.isPresent()) {
             entryIfAny.get().setValue(value);
         } else {
-            val entry = new MapDto.Entry();
+            var entry = new MapDto.Entry();
             entry.setKey(key);
             entry.setValue(value);
             mapDto.getEntry().add(entry);
@@ -584,7 +583,7 @@ public final class CommonDtoUtils {
 
         public TypedTupleBuilder<T> addFundamentalType(
                 final ValueType vType, final String fieldName, final Function<T, Object> getter) {
-            val elementDto = new NamedValueWithTypeDto();
+            var elementDto = new NamedValueWithTypeDto();
             _Assert.assertTrue(_Strings.isNotEmpty(fieldName));
             elementDto.setName(fieldName);
             dto.getElements().add(
@@ -612,7 +611,7 @@ public final class CommonDtoUtils {
 
     public static Map<String, Object> typedTupleAsMap(final TypedTupleDto dto) {
 
-        val map = new LinkedHashMap<String, Object>(dto.getCardinality()); // preserve order
+        var map = new LinkedHashMap<String, Object>(dto.getCardinality()); // preserve order
 
         dto.getElements()
             .forEach(elementDto->
@@ -627,7 +626,7 @@ public final class CommonDtoUtils {
      * @param paramIdOrName - should (consistently) be either id or name, as per global configuration.
      */
     public static ParamDto paramDto(final @NonNull String paramIdOrName) {
-        val paramDto = new ParamDto();
+        var paramDto = new ParamDto();
         if(paramIdOrName.isBlank()) {
             throw _Exceptions.illegalArgument("paramIdOrName must not be blank '%s'", paramIdOrName);
         }
@@ -641,7 +640,7 @@ public final class CommonDtoUtils {
             final @NonNull ValueWithTypeDto src,
             final @NonNull ValueWithTypeDto dst) {
 
-        val valueType = src.getType();
+        var valueType = src.getType();
         dst.setType(valueType);
 
         _copy(valueType, src, dst);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/util/schema/InteractionsDtoUtils.java b/api/applib/src/main/java/org/apache/causeway/applib/util/schema/InteractionsDtoUtils.java
index cb43e74521..a6f4d342bb 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/util/schema/InteractionsDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/util/schema/InteractionsDtoUtils.java
@@ -28,7 +28,6 @@ import org.apache.causeway.commons.io.JaxbUtils;
 import org.apache.causeway.schema.ixn.v2.InteractionDto;
 import org.apache.causeway.schema.ixn.v2.InteractionsDto;
 
-import lombok.val;
 import lombok.experimental.UtilityClass;
 
 /**
@@ -62,8 +61,8 @@ public final class InteractionsDtoUtils {
     private static void copyVersion(
             final InteractionsDto from,
             final InteractionDto to) {
-        val majorVersion = from.getMajorVersion();
-        val minorVersion = from.getMinorVersion();
+        var majorVersion = from.getMajorVersion();
+        var minorVersion = from.getMinorVersion();
         if (!_Strings.isNullOrEmpty(majorVersion) && !_Strings.isNullOrEmpty(minorVersion)) {
             to.setMajorVersion(majorVersion);
             to.setMinorVersion(minorVersion);
@@ -72,7 +71,7 @@ public final class InteractionsDtoUtils {
 
     public static InteractionsDto join(
             final List<InteractionDto> interactionDtos) {
-        val interactionsDto = new InteractionsDto();
+        var interactionsDto = new InteractionsDto();
         interactionDtos.forEach(interactionDto -> {
             copyVersion(interactionDto, interactionsDto);
             interactionsDto.getInteractionDto().add(interactionDto);
@@ -83,8 +82,8 @@ public final class InteractionsDtoUtils {
     private static void copyVersion(
             final InteractionDto from,
             final InteractionsDto dto) {
-        val majorVersion = from.getMajorVersion();
-        val minorVersion = from.getMinorVersion();
+        var majorVersion = from.getMajorVersion();
+        var minorVersion = from.getMinorVersion();
         if (!_Strings.isNullOrEmpty(majorVersion) && !_Strings.isNullOrEmpty(minorVersion)) {
             dto.setMajorVersion(majorVersion);
             dto.setMinorVersion(minorVersion);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/Blob.java b/api/applib/src/main/java/org/apache/causeway/applib/value/Blob.java
index 7fed11d659..ece7a237c6 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/Blob.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/Blob.java
@@ -54,7 +54,6 @@ import org.apache.causeway.commons.io.ZipUtils.ZipOptions;
 
 import lombok.NonNull;
 import lombok.SneakyThrows;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
@@ -103,7 +102,7 @@ public final class Blob implements NamedWithMimeType {
      * @return new {@link Blob}
      */
     public static Blob of(final String name, final CommonMimeType mimeType, final byte[] content) {
-        val fileName = _Strings.asFileNameWithExtension(name, mimeType.getProposedFileExtensions());
+        var fileName = _Strings.asFileNameWithExtension(name, mimeType.getProposedFileExtensions());
         return new Blob(fileName, mimeType.getMimeType(), content);
     }
 
@@ -219,7 +218,7 @@ public final class Blob implements NamedWithMimeType {
         if(file==null) {
             return; // just ignore
         }
-        try(val os = new FileOutputStream(file)){
+        try(var os = new FileOutputStream(file)){
             writeBytesTo(os);
         }
     }
@@ -246,9 +245,9 @@ public final class Blob implements NamedWithMimeType {
      * @param zipEntryNameIfAny - if null or empty this Blob's name is used
      */
     public Blob zip(final @Nullable String zipEntryNameIfAny) {
-        val zipEntryName = _Strings.nonEmpty(zipEntryNameIfAny)
+        var zipEntryName = _Strings.nonEmpty(zipEntryNameIfAny)
             .orElseGet(this::getName);
-        val zipBuilder = ZipUtils.zipEntryBuilder();
+        var zipBuilder = ZipUtils.zipEntryBuilder();
         zipBuilder.add(zipEntryName, getBytes());
         return Blob.of(getName()+".zip", CommonMimeType.ZIP, zipBuilder.toBytes());
     }
@@ -358,18 +357,18 @@ public final class Blob implements NamedWithMimeType {
      */
     public Optional<BufferedImage> asImage() {
 
-        val bytes = getBytes();
+        var bytes = getBytes();
         if(bytes == null) {
             return Optional.empty();
         }
 
-        val mimeType = getMimeType();
+        var mimeType = getMimeType();
         if(mimeType == null || !mimeType.getPrimaryType().equals("image")) {
             return Optional.empty();
         }
 
         try {
-            val img = _Images.fromBytes(getBytes());
+            var img = _Images.fromBytes(getBytes());
             return Optional.ofNullable(img);
         } catch (Exception e) {
             log.error("failed to read image data", e);
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/Clob.java b/api/applib/src/main/java/org/apache/causeway/applib/value/Clob.java
index 02588d680e..03b42f2855 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/Clob.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/Clob.java
@@ -48,7 +48,6 @@ import org.apache.causeway.commons.io.DataSource;
 
 import lombok.NonNull;
 import lombok.SneakyThrows;
-import lombok.val;
 
 /**
  * Represents a character large object.
@@ -101,7 +100,7 @@ public final class Clob implements NamedWithMimeType {
      * @return new {@link Clob}
      */
     public static Clob of(final String name, final CommonMimeType mimeType, final CharSequence content) {
-        val fileName = _Strings.asFileNameWithExtension(name, mimeType.getProposedFileExtensions());
+        var fileName = _Strings.asFileNameWithExtension(name, mimeType.getProposedFileExtensions());
         return new Clob(fileName, mimeType.getMimeType(), content);
     }
 
@@ -238,7 +237,7 @@ public final class Clob implements NamedWithMimeType {
         if(file==null) {
             return; // just ignore
         }
-        try(val os = new OutputStreamWriter(new FileOutputStream(file), charset)){
+        try(var os = new OutputStreamWriter(new FileOutputStream(file), charset)){
             writeCharsTo(os);
         }
     }
@@ -252,7 +251,7 @@ public final class Clob implements NamedWithMimeType {
 
     @SneakyThrows
     public String asString() {
-        val sw = new StringWriter();
+        var sw = new StringWriter();
         writeCharsTo(sw);
         return sw.toString();
     }
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/NamedWithMimeType.java b/api/applib/src/main/java/org/apache/causeway/applib/value/NamedWithMimeType.java
index 333f28699b..35bf97a77b 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/NamedWithMimeType.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/NamedWithMimeType.java
@@ -31,7 +31,6 @@ import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.base._Strings;
 
 import lombok.Getter;
-import lombok.val;
 
 /**
  * @since 1.x {@index}
@@ -219,7 +218,7 @@ extends
             if(_Strings.isNullOrEmpty(fileExt)) {
                 return Optional.empty();
             }
-            val fileExtLower = fileExt.toLowerCase();
+            var fileExtLower = fileExt.toLowerCase();
             return Stream.of(CommonMimeType.values())
                     .filter(mime->mime.getProposedFileExtensions().contains(fileExtLower))
                     .findFirst();
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TemporalValueSemantics.java b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TemporalValueSemantics.java
index ce6ff43baa..70c636dc70 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TemporalValueSemantics.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TemporalValueSemantics.java
@@ -99,7 +99,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternNanoSecond = "HH[:mm[:ss][.SSSSSSSSS]]";
@@ -111,7 +111,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternMicroSecond = "HH[:mm[:ss][.SSSSSS]]";
@@ -123,7 +123,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternMilliSecond = "HH[:mm[:ss][.SSS]]";
@@ -135,7 +135,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternSecond = "HH[:mm[:ss]]";
@@ -147,7 +147,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternMinute = "HH[:mm]";
@@ -159,7 +159,7 @@ extends
          * Any missing temporal parts are filled up with zeros to meet the {@link TimeFormatPrecision}.
          *
          * @apiNote Supports various input forms as denoted by optional blocks (square brackets).
-         * The output format is inferred by removal of the square brackets (not their content).
+         * The output format is inferred by removar of the square brackets (not their content).
          */
         @NonNull //@NotEmpty
         private String timePatternHour = "HH";
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TimeZoneChoiceProvider.java b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TimeZoneChoiceProvider.java
index 9109deb2fd..2370c56f33 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TimeZoneChoiceProvider.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/TimeZoneChoiceProvider.java
@@ -24,8 +24,6 @@ import java.time.ZoneOffset;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import lombok.val;
-
 /**
  * When implemented by a service {@link #getAvailableZoneIds()} 
  * can be customized to limit the time-zone choices 
@@ -49,7 +47,7 @@ public interface TimeZoneChoiceProvider {
      * For temporal value editing, provides the list of available offsets to choose from.
      */
     default List<ZoneOffset> getAvailableOffsets() {
-        val now = LocalDateTime.now();
+        var now = LocalDateTime.now();
         return getAvailableZoneIds().stream()
             .map(ZoneId::getRules)
             .flatMap(zoneIdRules->zoneIdRules.getValidOffsets(now).stream())
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/ValueSemanticsAbstract.java b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/ValueSemanticsAbstract.java
index 4aada99c23..08b178f19e 100644
--- a/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/ValueSemanticsAbstract.java
+++ b/api/applib/src/main/java/org/apache/causeway/applib/value/semantics/ValueSemanticsAbstract.java
@@ -57,7 +57,6 @@ import org.apache.causeway.schema.common.v2.ValueType;
 import org.apache.causeway.schema.common.v2.ValueWithTypeDto;
 
 import lombok.NonNull;
-import lombok.val;
 
 /**
  * @since 2.x {@index}
@@ -148,7 +147,7 @@ ValueSemanticsProvider<T> {
             final @Nullable ValueDecomposition decomposition,
             final @NonNull Function<String, T> fromString,
             final @NonNull Supplier<T> onNullOrEmpty) {
-        val string = decomposition!=null
+        var string = decomposition!=null
                 ? decomposition.left().map(ValueWithTypeDto::getString).orElse(null)
                         : null;
         return _Strings.isNotEmpty(string)
@@ -179,7 +178,7 @@ ValueSemanticsProvider<T> {
             final @NonNull Function<F, T> onNonNull,
             final @NonNull Supplier<T> onNull) {
 
-        val valuePojo = decomposition!=null
+        var valuePojo = decomposition!=null
                 ? decomposition.left().map(fundamentalValueExtractor).orElse(null)
                 : null;
 
@@ -209,7 +208,7 @@ ValueSemanticsProvider<T> {
     protected DecimalFormat getNumberFormat(
             final @Nullable ValueSemanticsProvider.Context context,
             final @NonNull FormatUsageFor usedFor) {
-        val format = (DecimalFormat)NumberFormat.getNumberInstance(getUserLocale(context).getNumberFormatLocale());
+        var format = (DecimalFormat)NumberFormat.getNumberInstance(getUserLocale(context).getNumberFormatLocale());
         // prime w/ 16 (64 bit IEEE 754 double has 15 decimal digits of precision)
         format.setMaximumFractionDigits(16);
         configureDecimalFormat(context, format, usedFor);
@@ -219,7 +218,7 @@ ValueSemanticsProvider<T> {
     protected Optional<BigInteger> parseInteger(
             final @Nullable ValueSemanticsProvider.Context context,
             final @Nullable String text) {
-        val input = _Strings.blankToNullOrTrim(text);
+        var input = _Strings.blankToNullOrTrim(text);
         if(input==null) {
             return Optional.empty();
         }
@@ -241,27 +240,27 @@ ValueSemanticsProvider<T> {
             final @Nullable Context context,
             final @Nullable String text,
             final GroupingSeparatorPolicy groupingSeparatorPolicy) {
-        val input = _Strings.blankToNullOrTrim(text);
+        var input = _Strings.blankToNullOrTrim(text);
         if(input==null) {
             return Optional.empty();
         }
 
         if (groupingSeparatorPolicy == GroupingSeparatorPolicy.DISALLOW) {
-            val userLocale = getUserLocale(context);
-            val decimalFormatSymbols = new DecimalFormatSymbols(userLocale.getNumberFormatLocale());
-            val groupingSeparatorChar = decimalFormatSymbols.getGroupingSeparator();
+            var userLocale = getUserLocale(context);
+            var decimalFormatSymbols = new DecimalFormatSymbols(userLocale.getNumberFormatLocale());
+            var groupingSeparatorChar = decimalFormatSymbols.getGroupingSeparator();
             if (input.contains(""+groupingSeparatorChar)) {
                 throw new TextEntryParseException("Invalid value '" + input + "'; do not use the '" + groupingSeparatorChar + "' grouping separator");
             }
         }
 
-        val format = getNumberFormat(context, FormatUsageFor.PARSING);
+        var format = getNumberFormat(context, FormatUsageFor.PARSING);
         format.setParseBigDecimal(true);
 
 
-        val position = new ParsePosition(0);
+        var position = new ParsePosition(0);
         try {
-            val number = (BigDecimal)format.parse(input, position);
+            var number = (BigDecimal)format.parse(input, position);
             if (position.getErrorIndex() != -1) {
                 throw new ParseException("could not parse input='" + input + "'", position.getErrorIndex());
             } else if (position.getIndex() < input.length()) {
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/IdentifierTests.java b/api/applib/src/test/java/org/apache/causeway/applib/IdentifierTests.java
index c550c2ec74..14fc9a24c4 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/IdentifierTests.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/IdentifierTests.java
@@ -30,8 +30,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import org.apache.causeway.applib.id.LogicalType;
 import org.apache.causeway.commons.collections.Can;
 
-import lombok.val;
-
 class IdentifierTests {
 
     private Identifier identifier;
@@ -44,7 +42,7 @@ class IdentifierTests {
 
     @Test
     void classIdentifierClassNameIsSet() {
-        val domainClass = SomeDomainClass.class;
+        var domainClass = SomeDomainClass.class;
         final String domainClassFullyQualifiedName = domainClass.getCanonicalName();
         identifier = Identifier.classIdentifier(LogicalType.fqcn(domainClass));
         assertThat(identifier.getClassName(), is(domainClassFullyQualifiedName));
@@ -52,14 +50,14 @@ class IdentifierTests {
 
     @Test
     void memberParameterNames() {
-        val domainClass = SomeDomainClass.class;
+        var domainClass = SomeDomainClass.class;
         identifier = Identifier.actionIdentifier(LogicalType.fqcn(domainClass), "placeOrder", int.class, String.class);
         assertThat(identifier.getMemberParameterClassNames(), is(Can.of("int", "java.lang.String")));
     }
 
     @Test
     void paramsIdentityString() {
-        val domainClass = SomeDomainClass.class;
+        var domainClass = SomeDomainClass.class;
         identifier = Identifier.actionIdentifier(LogicalType.fqcn(domainClass), "placeOrder", int.class, String.class, BigDecimal.class);
         assertThat(
                 identifier.getFullIdentityString(),
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/client/RepresentationTypeSimplifiedV2Test.java b/api/applib/src/test/java/org/apache/causeway/applib/client/RepresentationTypeSimplifiedV2Test.java
index f2715dedd2..8c04e657e3 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/client/RepresentationTypeSimplifiedV2Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/client/RepresentationTypeSimplifiedV2Test.java
@@ -22,16 +22,14 @@ import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import lombok.val;
-
 class RepresentationTypeSimplifiedV2Test {
 
     @Test
     void parseContentTypeHeaderString() {
 
-        val contentTypeHeaderString = "application/json;profile=\"urn:org.apache.causeway/v2\";repr-type=value";
+        var contentTypeHeaderString = "application/json;profile=\"urn:org.apache.causeway/v2\";repr-type=value";
 
-        val representationType =
+        var representationType =
                 RepresentationTypeSimplifiedV2
                 .parseContentTypeHeaderString(contentTypeHeaderString)
                 .orElse(null);
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/commons/internal/reflection/ReflectTest.java b/api/applib/src/test/java/org/apache/causeway/applib/commons/internal/reflection/ReflectTest.java
index 4db9292919..618815737c 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/commons/internal/reflection/ReflectTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/commons/internal/reflection/ReflectTest.java
@@ -38,8 +38,6 @@ import static org.apache.causeway.commons.internal.reflection._Reflect.getAnnota
 import static org.apache.causeway.commons.internal.reflection._Reflect.streamAllMethods;
 import static org.apache.causeway.commons.internal.reflection._Reflect.streamTypeHierarchy;
 
-import lombok.val;
-
 class ReflectTest {
 
     @Test
@@ -47,7 +45,7 @@ class ReflectTest {
 
         Class<?> type = ReflectSampleForTesting.Nested.class;
 
-        val typeSet = streamTypeHierarchy(type, InterfacePolicy.EXCLUDE)
+        var typeSet = streamTypeHierarchy(type, InterfacePolicy.EXCLUDE)
                 .map(Class::getName)
                 .collect(Collectors.toSet());
 
@@ -63,7 +61,7 @@ class ReflectTest {
 
         Class<?> type = ReflectSampleForTesting.Nested.class;
 
-        val typeSet = streamTypeHierarchy(type, InterfacePolicy.INCLUDE)
+        var typeSet = streamTypeHierarchy(type, InterfacePolicy.INCLUDE)
                 .map(Class::getName)
                 .collect(Collectors.toSet());
 
@@ -80,7 +78,7 @@ class ReflectTest {
 
         Class<?> type = ReflectSampleForTesting.Nested.class;
 
-        val typeSet = streamAllMethods(type, true)
+        var typeSet = streamAllMethods(type, true)
                 .map(m->m.toString())
                 .collect(Collectors.toSet());
 
@@ -117,7 +115,7 @@ class ReflectTest {
 
         Class<?> type = A.class;
 
-        val typeSet = streamTypeHierarchy(type, InterfacePolicy.INCLUDE)
+        var typeSet = streamTypeHierarchy(type, InterfacePolicy.INCLUDE)
                 .map(t->t.getSimpleName())
                 .collect(Collectors.toCollection(TreeSet::new));
 
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/id/LogicalTypeTest.java b/api/applib/src/test/java/org/apache/causeway/applib/id/LogicalTypeTest.java
index 775d412b3d..2f0769e235 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/id/LogicalTypeTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/id/LogicalTypeTest.java
@@ -26,14 +26,12 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.apache.causeway.applib.SomeDomainClass;
 import org.apache.causeway.commons.internal.testing._SerializationTester;
 
-import lombok.val;
-
 class LogicalTypeTest {
 
     @Test
     void eager() {
         
-        val original = LogicalType.fqcn(SomeDomainClass.class);
+        var original = LogicalType.fqcn(SomeDomainClass.class);
         
         _SerializationTester.assertEqualsOnRoundtrip(original);
         
@@ -49,7 +47,7 @@ class LogicalTypeTest {
     @Test
     void lazy() {
         
-        val original = LogicalType.lazy(SomeDomainClass.class, ()->"hello");
+        var original = LogicalType.lazy(SomeDomainClass.class, ()->"hello");
         
         _SerializationTester.assertEqualsOnRoundtrip(original);
         
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/jaxbadapters/JaxbXmlAdaptersContractTest.java b/api/applib/src/test/java/org/apache/causeway/applib/jaxbadapters/JaxbXmlAdaptersContractTest.java
index fad8640e2d..01eec05f2a 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/jaxbadapters/JaxbXmlAdaptersContractTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/jaxbadapters/JaxbXmlAdaptersContractTest.java
@@ -23,8 +23,6 @@ import javax.xml.bind.annotation.adapters.XmlAdapter;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import lombok.val;
-
 public abstract class JaxbXmlAdaptersContractTest<T> {
 
     public static final String sampleComplexString = "Hello World!?{[()]}§$%&=´`*+~#',;.:-_|@€µ<>^°\"";
@@ -50,8 +48,8 @@ public abstract class JaxbXmlAdaptersContractTest<T> {
         XmlAdapter<String, T> xmlAdapter = this.xmlAdapter;
         for(T sampleValue : this.sampleValues) {
 
-            val xml = xmlAdapter.marshal(sampleValue);
-            val recovered = xmlAdapter.unmarshal(xml);
+            var xml = xmlAdapter.marshal(sampleValue);
+            var recovered = xmlAdapter.unmarshal(xml);
 
             if(sampleValue instanceof byte[]) {
                 Assertions.assertArrayEquals((byte[])sampleValue, (byte[])recovered);
@@ -60,8 +58,8 @@ public abstract class JaxbXmlAdaptersContractTest<T> {
             }
         }
 
-        val nullXml = xmlAdapter.marshal(null);
-        val nullRecovered = xmlAdapter.unmarshal(nullXml);
+        var nullXml = xmlAdapter.marshal(null);
+        var nullRecovered = xmlAdapter.unmarshal(nullXml);
 
         Assertions.assertNull(nullRecovered);
     }
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/query/NamedQueryTest_withStart_or_withCount.java b/api/applib/src/test/java/org/apache/causeway/applib/query/NamedQueryTest_withStart_or_withCount.java
index 9a6a4b2434..394dad2a4b 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/query/NamedQueryTest_withStart_or_withCount.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/query/NamedQueryTest_withStart_or_withCount.java
@@ -27,8 +27,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import lombok.val;
-
 class NamedQueryTest_withStart_or_withCount {
 
     private NamedQuery<Customer> namedQuery;
@@ -46,7 +44,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void defaults() throws Exception {
 
-        val range = namedQuery.getRange();
+        var range = namedQuery.getRange();
 
         assertThat(range.getStart(), is(0L));
         assertThat(range.getLimit(), is(UNLIMITED));
@@ -59,7 +57,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void typicalHappyCase() throws Exception {
 
-        val range = namedQuery
+        var range = namedQuery
                 .withRange(QueryRange.start(10L).withLimit(5L))
                 .getRange();
 
@@ -74,7 +72,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void happyCase_startOnly() throws Exception {
 
-        val range = namedQuery
+        var range = namedQuery
                 .withRange(QueryRange.start(10L))
                 .getRange();
 
@@ -89,7 +87,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void happyCase_startZero() throws Exception {
 
-        val range = namedQuery
+        var range = namedQuery
                 .withRange(QueryRange.start(0L))
                 .getRange();
 
@@ -111,7 +109,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void happyCase_countOnly() throws Exception {
 
-        val range = namedQuery
+        var range = namedQuery
                 .withRange(QueryRange.limit(10L))
                 .getRange();
 
@@ -133,7 +131,7 @@ class NamedQueryTest_withStart_or_withCount {
     @Test
     public void countUnlimited() throws Exception {
 
-        val range = namedQuery
+        var range = namedQuery
                 .withRange(QueryRange.limit(UNLIMITED))
                 .getRange();
 
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/bookmark/BookmarkTest.java b/api/applib/src/test/java/org/apache/causeway/applib/services/bookmark/BookmarkTest.java
index 705e444813..0b052bfd9d 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/bookmark/BookmarkTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/bookmark/BookmarkTest.java
@@ -25,14 +25,12 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import lombok.val;
-
 class BookmarkTest {
 
     @Test
     void shouldParse_whenExactly2Token() {
 
-        val bookmark = Bookmark.parse("a:b").get();
+        var bookmark = Bookmark.parse("a:b").get();
 
         assertEquals("a", bookmark.getLogicalTypeName());
         assertEquals("b", bookmark.getIdentifier());
@@ -54,7 +52,7 @@ class BookmarkTest {
     @Test
     void shouldParse_when1Token() {
 
-        val bookmark = Bookmark.parse("a").get();
+        var bookmark = Bookmark.parse("a").get();
 
         assertEquals("a", bookmark.getLogicalTypeName());
         assertTrue(bookmark.isEmpty());
@@ -65,7 +63,7 @@ class BookmarkTest {
     @Test
     void shouldParse_whenMoreThan2Token() {
 
-        val bookmark = Bookmark.parse("a:b:c").get();
+        var bookmark = Bookmark.parse("a:b:c").get();
 
         assertEquals("a", bookmark.getLogicalTypeName());
         assertEquals("b:c", bookmark.getIdentifier());
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/InteractionContext_combine_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/InteractionContext_combine_Test.java
index a4dff7437d..cae0bd7f1d 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/InteractionContext_combine_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/InteractionContext_combine_Test.java
@@ -24,18 +24,16 @@ import java.util.stream.Stream;
 import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import lombok.val;
-
 class InteractionContext_combine_Test {
 
     @Test
     void happy_case() {
 
-        val mappers = Stream.<UnaryOperator<String>>of(
+        var mappers = Stream.<UnaryOperator<String>>of(
                 s -> s + "bar",
                 s -> "[" + s + "]",
                 s -> s + s);
-        val result = InteractionContext.combine(mappers).apply("foo");
+        var result = InteractionContext.combine(mappers).apply("foo");
 
         Assertions.assertThat(result).isEqualTo("[foobar][foobar]");
     }
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/TryTest.java b/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/TryTest.java
index f02d2a3394..0a55edc30c 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/TryTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/iactnlayer/TryTest.java
@@ -31,8 +31,6 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.causeway.commons.functional.Try;
 
-import lombok.val;
-
 class TryTest {
 
     // -- TEST DUMMIES
@@ -71,7 +69,7 @@ class TryTest {
     @Test
     void hello_happy_case() {
 
-        val result = Try.<String>call(this::hello_happy);
+        var result = Try.<String>call(this::hello_happy);
         assertTrue(result.isSuccess());
         assertFalse(result.isFailure());
         assertEquals("hello", result.getValue().orElse(""));
@@ -81,7 +79,7 @@ class TryTest {
         // non-evaluated code-path
         result.getValue().orElseGet(()->fail("unexpected code reach"));
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isSuccess());
         assertEquals("hello", mandatory.getValue().orElse(""));
 
@@ -90,14 +88,14 @@ class TryTest {
     @Test
     void hello_nullable_case() {
 
-        val result = Try.<String>call(this::hello_nullable);
+        var result = Try.<String>call(this::hello_nullable);
         assertTrue(result.isSuccess());
         assertFalse(result.isFailure());
         assertEquals("no value", result.getValue().orElse("no value"));
         assertThrows(NoSuchElementException.class, ()->result.ifAbsentFail());
         assertEquals(Optional.empty(), result.ifFailureFail().getValue());
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isFailure());
         assertThrows(NoSuchElementException.class, ()->mandatory.ifFailureFail());
 
@@ -106,7 +104,7 @@ class TryTest {
     @Test
     void hello_throwing_uncatched_case() {
 
-        val result = Try.<String>call(this::hello_throwing_uncatched);
+        var result = Try.<String>call(this::hello_throwing_uncatched);
         assertFalse(result.isSuccess());
         assertTrue(result.isFailure());
         assertEquals("hello failed", result.getFailure().get().getMessage());
@@ -115,7 +113,7 @@ class TryTest {
         assertThrows(RuntimeException.class, ()->result.ifAbsentFail());
         assertEquals(Optional.empty(), result.getValue());
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isFailure());
 
     }
@@ -123,7 +121,7 @@ class TryTest {
     @Test
     void hello_throwing_catched_case() {
 
-        val result = Try.<String>call(this::hello_throwing_catched);
+        var result = Try.<String>call(this::hello_throwing_catched);
         assertFalse(result.isSuccess());
         assertTrue(result.isFailure());
         assertEquals("hello failed", result.getFailure().get().getMessage());
@@ -132,7 +130,7 @@ class TryTest {
         assertThrows(Exception.class, ()->result.ifAbsentFail());
         assertEquals(Optional.empty(), result.getValue());
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isFailure());
 
     }
@@ -140,7 +138,7 @@ class TryTest {
     @Test
     void void_happy_case() {
 
-        val result = Try.run(this::void_happy);
+        var result = Try.run(this::void_happy);
         assertTrue(result.isSuccess());
         assertFalse(result.isFailure());
         assertEquals(null, result.getValue().orElse(null));
@@ -151,7 +149,7 @@ class TryTest {
     @Test
     void void_throwing_uncatched_case() {
 
-        val result = Try.run(this::void_throwing_uncatched);
+        var result = Try.run(this::void_throwing_uncatched);
         assertFalse(result.isSuccess());
         assertTrue(result.isFailure());
         assertEquals("void failed", result.getFailure().get().getMessage());
@@ -160,14 +158,14 @@ class TryTest {
         assertThrows(NoSuchElementException.class, ()->result.ifAbsentFail()); // throw NoSuchElementException always
         assertEquals(Optional.empty(), result.getValue());
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isFailure());
     }
 
     @Test
     void void_throwing_catched_case() {
 
-        val result = Try.run(this::void_throwing_catched);
+        var result = Try.run(this::void_throwing_catched);
         assertFalse(result.isSuccess());
         assertTrue(result.isFailure());
         assertEquals("void failed", result.getFailure().get().getMessage());
@@ -176,7 +174,7 @@ class TryTest {
         assertThrows(NoSuchElementException.class, ()->result.ifAbsentFail()); // throw NoSuchElementException always
         assertEquals(Optional.empty(), result.getValue());
 
-        val mandatory = result.mapEmptyToFailure();
+        var mandatory = result.mapEmptyToFailure();
         assertTrue(mandatory.isFailure());
     }
 
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/jaxb/JaxbServiceTest.java b/api/applib/src/test/java/org/apache/causeway/applib/services/jaxb/JaxbServiceTest.java
index 1c4ca230b6..8ecec290dd 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/jaxb/JaxbServiceTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/jaxb/JaxbServiceTest.java
@@ -32,7 +32,6 @@ import org.apache.causeway.commons.io.JaxbUtils;
 import org.apache.causeway.schema.ixn.v2.ActionInvocationDto;
 
 import lombok.SneakyThrows;
-import lombok.val;
 
 class JaxbServiceTest {
 
@@ -51,8 +50,8 @@ class JaxbServiceTest {
 
     @Test @Disabled("fails because ActionInvocationDto has no @XmlRootElement annonation")
     void roundtrip() {
-        val xml = simple.toXml(sampleDto);
-        val clone = simple.<ActionInvocationDto>fromXml(ActionInvocationDto.class, xml);
+        var xml = simple.toXml(sampleDto);
+        var clone = simple.<ActionInvocationDto>fromXml(ActionInvocationDto.class, xml);
         assertEquals(sampleDto, clone);
     }
 
@@ -61,7 +60,7 @@ class JaxbServiceTest {
         // test prerequisites
         assertNotNull(JAXBContext.newInstance(ActionInvocationDto.class));
 
-        val dto = getSample();
+        var dto = getSample();
         assertDtoEquals(dto, JaxbUtils.mapperFor(ActionInvocationDto.class, opts->opts.allowMissingRootElement(true))
                 .tryClone(dto)
                 .ifFailureFail()
@@ -71,7 +70,7 @@ class JaxbServiceTest {
     // -- HELPER
 
     private ActionInvocationDto getSample() {
-        val dto = new ActionInvocationDto();
+        var dto = new ActionInvocationDto();
         dto.setLogicalMemberIdentifier("customer.Customer#placeOrder");
         return dto;
     }
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/user/UserMemento_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/services/user/UserMemento_Test.java
index df2b251a65..03f5ef21ee 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/user/UserMemento_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/user/UserMemento_Test.java
@@ -26,8 +26,6 @@ import org.junit.jupiter.api.Test;
 
 import static org.apache.causeway.commons.internal.resources._Resources.url;
 
-import lombok.val;
-
 class UserMemento_Test {
 
     @Nested
@@ -37,7 +35,7 @@ class UserMemento_Test {
         void name_only() {
 
             // when
-            val userMemento = UserMemento.ofName("fredflintstone");
+            var userMemento = UserMemento.ofName("fredflintstone");
 
             // then original unchanged
             Assertions.assertThat(userMemento.getName()).isEqualTo("fredflintstone");
@@ -50,7 +48,7 @@ class UserMemento_Test {
         void name_and_roles() {
 
             // when
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // then
             Assertions.assertThat(userMemento.getName()).isEqualTo("fredflintstone");
@@ -68,10 +66,10 @@ class UserMemento_Test {
         @Test
         void user_and_roles_preserved_and_real_name_set() {
             // copy
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // when
-            val userMemento2 = userMemento.withRealName("Fred Flintstone");
+            var userMemento2 = userMemento.withRealName("Fred Flintstone");
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -94,11 +92,11 @@ class UserMemento_Test {
         @Test
         void user_and_roles_and_avatarUrl_preserved_and_real_name_set() throws MalformedURLException {
             // copy
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND")
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND")
                     .withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
 
             // when
-            val userMemento2 = userMemento.withRealName("Fred Flintstone");
+            var userMemento2 = userMemento.withRealName("Fred Flintstone");
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -128,10 +126,10 @@ class UserMemento_Test {
         void user_and_roles_preserved_and_avatarUrl_set() throws MalformedURLException {
 
             // copy
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // when
-            val userMemento2 = userMemento.withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
+            var userMemento2 = userMemento.withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -155,10 +153,10 @@ class UserMemento_Test {
         void user_and_roles_and_real_name_preserved_and_avatarUrl_set() throws MalformedURLException {
 
             // copy
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND").withRealName("Fred Flintstone");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND").withRealName("Fred Flintstone");
 
             // when
-            val userMemento2 = userMemento.withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
+            var userMemento2 = userMemento.withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -188,10 +186,10 @@ class UserMemento_Test {
         void user_and_roles_preserved_and_role_added() throws MalformedURLException {
 
             // given
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // when
-            val userMemento2 = userMemento.withRoleAdded("WICKET_ROLE");
+            var userMemento2 = userMemento.withRoleAdded("WICKET_ROLE");
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -218,10 +216,10 @@ class UserMemento_Test {
         void user_and_roles_preserved_and_impersonating_flag_set() throws MalformedURLException {
 
             // given
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // when
-            val userMemento2 = userMemento.withImpersonating(true);
+            var userMemento2 = userMemento.withImpersonating(true);
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -241,10 +239,10 @@ class UserMemento_Test {
         void user_and_roles_preserved_and_impersonating_flag_set() throws MalformedURLException {
 
             // given
-            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+            var userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
 
             // when
-            val userMemento2 = userMemento.withMultiTenancyToken("/ITA");
+            var userMemento2 = userMemento.withMultiTenancyToken("/ITA");
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
@@ -264,7 +262,7 @@ class UserMemento_Test {
         void happy_case() throws MalformedURLException {
 
             // when
-            val userMemento = UserMemento.ofName("fredflintstone")
+            var userMemento = UserMemento.ofName("fredflintstone")
                     .withRoleAdded("CAVEMAN")
                     .withRoleAdded("HUSBAND")
                     .withAvatarUrl(url("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"))
@@ -282,7 +280,7 @@ class UserMemento_Test {
             Assertions.assertThat(userMemento.isImpersonating()).isFalse();
 
             // and when
-            val userMemento2 = userMemento.withImpersonating(true);
+            var userMemento2 = userMemento.withImpersonating(true);
 
             // then copy created
             Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/AsyncControl_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/AsyncControl_Test.java
index 649004e5d0..6c6215b2af 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/AsyncControl_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/AsyncControl_Test.java
@@ -28,15 +28,13 @@ import org.springframework.core.task.support.TaskExecutorAdapter;
 
 import org.apache.causeway.applib.services.user.UserMemento;
 
-import lombok.val;
-
 class AsyncControl_Test {
 
     @Test
     public void defaults() throws Exception {
 
         // given
-        val control = AsyncControl.returningVoid();
+        var control = AsyncControl.returningVoid();
 
         // then
         Assertions.assertThat(control.getExecutionModes()).isEmpty();
@@ -45,7 +43,7 @@ class AsyncControl_Test {
     @Test
     public void check_rules() throws Exception {
         // given
-        val control = AsyncControl.returningVoid();
+        var control = AsyncControl.returningVoid();
 
         // when
         control.withCheckRules();
@@ -58,7 +56,7 @@ class AsyncControl_Test {
     public void skip_rules() throws Exception {
 
         // given
-        val control = AsyncControl.returningVoid();
+        var control = AsyncControl.returningVoid();
 
         // when
         control.withSkipRules();
@@ -71,7 +69,7 @@ class AsyncControl_Test {
     public void user() throws Exception {
 
         // given
-        val control = AsyncControl.returningVoid();
+        var control = AsyncControl.returningVoid();
 
         // when
         control.withUser(UserMemento.ofName("fred"));
@@ -84,7 +82,7 @@ class AsyncControl_Test {
     public void roles() throws Exception {
 
         // given
-        val control = AsyncControl.returningVoid();
+        var control = AsyncControl.returningVoid();
 
         // when
         control.withUser(UserMemento.ofNameAndRoleNames("fred", "role-1", "role-2"));
@@ -97,11 +95,11 @@ class AsyncControl_Test {
     @Test
     public void chaining() throws Exception {
 
-        val executorService = new ExecutorServiceAdapter(new TaskExecutorAdapter(command -> {
+        var executorService = new ExecutorServiceAdapter(new TaskExecutorAdapter(command -> {
         }));
         ExceptionHandler exceptionHandler = ex -> null;
 
-        val control = AsyncControl.returning(String.class)
+        var control = AsyncControl.returning(String.class)
                 .withSkipRules()
                 .withUser(UserMemento.ofNameAndRoleNames("fred", "role-1", "role-2"))
                 .with(executorService)
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/SyncControl_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/SyncControl_Test.java
index 80b1313e88..7de5158261 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/SyncControl_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/services/wrapper/control/SyncControl_Test.java
@@ -24,15 +24,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.causeway.commons.internal.base._NullSafe;
 
-import lombok.val;
-
 class SyncControl_Test {
 
     @Test
     public void defaults() throws Exception {
 
         // given
-        val control = SyncControl.control();
+        var control = SyncControl.control();
 
         // then
         assertTrue(_NullSafe.isEmpty(control.getExecutionModes()));
@@ -41,7 +39,7 @@ class SyncControl_Test {
     @Test
     public void check_rules() throws Exception {
         // given
-        val control = SyncControl.control();
+        var control = SyncControl.control();
 
         // when
         control.withCheckRules();
@@ -54,7 +52,7 @@ class SyncControl_Test {
     public void skip_rules() throws Exception {
 
         // given
-        val control = SyncControl.control();
+        var control = SyncControl.control();
 
         // when
         control.withSkipRules();
@@ -67,7 +65,7 @@ class SyncControl_Test {
     public void execute() throws Exception {
 
         // given
-        val control = SyncControl.control();
+        var control = SyncControl.control();
 
         // when
         control.withExecute();
@@ -80,7 +78,7 @@ class SyncControl_Test {
     public void no_execute() throws Exception {
 
         // given
-        val control = SyncControl.control();
+        var control = SyncControl.control();
 
         // when
         control.withNoExecute();
@@ -94,7 +92,7 @@ class SyncControl_Test {
 
         ExceptionHandler exceptionHandler = ex -> null;
 
-        val control = SyncControl.control()
+        var control = SyncControl.control()
                 .withNoExecute()
                 .withSkipRules()
                 .with(exceptionHandler);
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/util/JaxbUtilsDtoCloneTest.java b/api/applib/src/test/java/org/apache/causeway/applib/util/JaxbUtilsDtoCloneTest.java
index 1d8cb076ad..9968537493 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/util/JaxbUtilsDtoCloneTest.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/util/JaxbUtilsDtoCloneTest.java
@@ -28,8 +28,6 @@ import org.apache.causeway.commons.internal.base._Bytes;
 import org.apache.causeway.commons.io.DataSource;
 import org.apache.causeway.schema.ixn.v2.ActionInvocationDto;
 
-import lombok.val;
-
 class JaxbUtilsDtoCloneTest {
 
     @Test
@@ -37,7 +35,7 @@ class JaxbUtilsDtoCloneTest {
 
         // ActionInvocationDto hex dump
 
-        val dtoHexDump = "3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e "
+        var dtoHexDump = "3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e "
                 + "67 3d 22 55 54 46 2d 38 22 20 73 74 61 6e 64 61 6c 6f 6e 65 3d 22 79 65 73 22 3f 3e 3c 41 63 74 "
                 + "69 6f 6e 49 6e 76 6f 63 61 74 69 6f 6e 44 74 6f 20 78 6d 6c 6e 73 3a 69 78 6e 3d 22 68 74 74 70 "
                 + "3a 2f 2f 63 61 75 73 65 77 61 79 2e 61 70 61 63 68 65 2e 6f 72 67 2f 73 63 68 65 6d 61 2f 69 78 "
@@ -68,13 +66,13 @@ class JaxbUtilsDtoCloneTest {
                 + "6d 70 6c 65 4f 62 6a 65 63 74 22 20 69 64 3d 22 32 38 39 22 2f 3e 3c 2f 69 78 6e 3a 72 65 74 75 "
                 + "72 6e 65 64 3e 3c 2f 41 63 74 69 6f 6e 49 6e 76 6f 63 61 74 69 6f 6e 44 74 6f 3e";
 
-        val dtoAsBytes = _Bytes.ofHexDump(dtoHexDump);
+        var dtoAsBytes = _Bytes.ofHexDump(dtoHexDump);
 
         // verify that we can reproduce a byte array from its stringified representation
         assertEquals(dtoHexDump, _Bytes.hexDump(dtoAsBytes));
 
-        val mapper = MemberExecutionDtoUtils.dtoMapper(ActionInvocationDto.class);
-        val dto = mapper.read(DataSource.ofBytes(dtoAsBytes));
+        var mapper = MemberExecutionDtoUtils.dtoMapper(ActionInvocationDto.class);
+        var dto = mapper.read(DataSource.ofBytes(dtoAsBytes));
 
         assertNotNull(dto);
         assertEquals(ActionInvocationDto.class, dto.getClass());
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/util/schema/CommonDtoUtils_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/util/schema/CommonDtoUtils_Test.java
index 72f8ad3374..83ca7d30c5 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/util/schema/CommonDtoUtils_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/util/schema/CommonDtoUtils_Test.java
@@ -35,7 +35,6 @@ import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.ToString;
-import lombok.val;
 
 class CommonDtoUtils_Test {
 
@@ -79,24 +78,24 @@ class CommonDtoUtils_Test {
     @Test
     void roundtripOnComposites() {
 
-        val compositeSample = new CompositeSample(123456L, "sample");
+        var compositeSample = new CompositeSample(123456L, "sample");
 
         TypedTupleDto compositeDto = CommonDtoUtils.typedTupleBuilder(compositeSample)
             .addFundamentalType(ValueType.LONG, "epochMillis", CompositeSample::getEpochMillis)
             .addFundamentalType(ValueType.STRING, "calendarName", CompositeSample::getCalendarName)
             .build();
 
-        val json = CommonDtoUtils.getCompositeValueAsJson(compositeDto);
+        var json = CommonDtoUtils.getCompositeValueAsJson(compositeDto);
 
-        val expectedJson = "{\"elements\":["
+        var expectedJson = "{\"elements\":["
                 + "{\"long\":123456,\"type\":\"long\",\"name\":\"epochMillis\"},"
                 + "{\"string\":\"sample\",\"type\":\"string\",\"name\":\"calendarName\"}],"
                 + "\"type\":\"org.apache.causeway.applib.util.schema.CommonDtoUtils_Test$CompositeSample\","
                 + "\"cardinality\":2}";
         _DocumentTester.assertJsonEqualsIgnoreOrder(expectedJson, json);
 
-        val compositeAfterRoundtrip = CommonDtoUtils.getCompositeValueFromJson(json);
-        val jsonAfterRoundtrip = CommonDtoUtils.getCompositeValueAsJson(compositeAfterRoundtrip);
+        var compositeAfterRoundtrip = CommonDtoUtils.getCompositeValueFromJson(json);
+        var jsonAfterRoundtrip = CommonDtoUtils.getCompositeValueAsJson(compositeAfterRoundtrip);
         _DocumentTester.assertJsonEqualsIgnoreOrder(expectedJson, jsonAfterRoundtrip);
     }
 
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/value/Blob_zip_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/value/Blob_zip_Test.java
index 9e7dff8ed3..4514876f79 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/value/Blob_zip_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/value/Blob_zip_Test.java
@@ -27,22 +27,20 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.causeway.applib.value.NamedWithMimeType.CommonMimeType;
 
-import lombok.val;
-
 class Blob_zip_Test {
 
     private byte[] bytes;
 
     @BeforeEach
     void setup() {
-        val rd = new Random(9999); // fixed seed - reproducible tests
+        var rd = new Random(9999); // fixed seed - reproducible tests
         this.bytes = new byte[16*1024];
         rd.nextBytes(bytes);
     }
 
     @Test
     void zipUnzipRountripOnBlob() throws Exception {
-        val blob = Blob.of("name", CommonMimeType.BIN, bytes);
+        var blob = Blob.of("name", CommonMimeType.BIN, bytes);
         assertEquals(blob, blob.zip().unZip(CommonMimeType.BIN));
     }
 
diff --git a/api/applib/src/test/java/org/apache/causeway/applib/value/Password_Test.java b/api/applib/src/test/java/org/apache/causeway/applib/value/Password_Test.java
index c0ff090647..aba73f388b 100644
--- a/api/applib/src/test/java/org/apache/causeway/applib/value/Password_Test.java
+++ b/api/applib/src/test/java/org/apache/causeway/applib/value/Password_Test.java
@@ -27,8 +27,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.causeway.applib.services.placeholder.PlaceholderRenderService.PlaceholderLiteral;
 
-import lombok.val;
-
 class Password_Test {
 
     @Nested
@@ -47,7 +45,7 @@ class Password_Test {
         @Test
         void given_empty() {
             // given
-            val password = new Password("");
+            var password = new Password("");
 
             // when, then
             assertTrue(password.checkPassword(""));
@@ -58,7 +56,7 @@ class Password_Test {
         public void given_null() {
 
             // given
-            val password = new Password(null);
+            var password = new Password(null);
 
             // when, then
             assertFalse(password.checkPassword(""));