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/11/28 06:34:33 UTC

(causeway) branch v3 updated: CAUSEWAY-2297: further encapsulate collection models

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

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


The following commit(s) were added to refs/heads/v3 by this push:
     new aca22dbd2b9 CAUSEWAY-2297: further encapsulate collection models
aca22dbd2b9 is described below

commit aca22dbd2b9b65fba4c29c58e30c9c940f5e47eb
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 28 07:28:56 2024 +0100

    CAUSEWAY-2297: further encapsulate collection models
---
 .../ui/viewer/CalendaredCollectionAbstract.java    |   2 +-
 .../CalendaredCollectionFactoryAbstract.java       |   2 +-
 .../wkt/ui/viewer/EventProviderAbstract.java       |   2 +-
 .../CalendarableCollectionAsFullCalendar.java      |   2 +-
 ...alendarableCollectionAsFullCalendarFactory.java |   2 +-
 .../calendarable/CalendarableEventProvider.java    |   2 +-
 .../CalendarEventableCollectionAsFullCalendar.java |   2 +-
 ...arEventableCollectionAsFullCalendarFactory.java |   2 +-
 .../CalendarEventableEventProvider.java            |   2 +-
 .../wicket/model/src/main/java/module-info.java    |   2 +-
 .../itemreuse/ReuseIfRowIndexEqualsStrategy.java   |   2 +-
 .../viewer/wicket/model/links/LinksProvider.java   |   2 +-
 .../viewer/wicket/model/models/ActionModel.java    |   2 +
 .../viewer/wicket/model/models/UiObjectWkt.java    |   1 +
 .../model/models/{ => coll}/CollectionModel.java   |   3 +-
 .../models/{ => coll}/CollectionModelAbstract.java |  93 ++++++++++++++++-
 .../models/{ => coll}/CollectionModelHidden.java   |   2 +-
 .../models/{ => coll}/CollectionModelParented.java |   4 +-
 .../{ => coll}/CollectionModelStandalone.java      |   4 +-
 .../{interaction => }/coll/DataRowToggleWkt.java   |   2 +-
 .../models/{interaction => }/coll/DataRowWkt.java  |   5 +-
 .../interaction/act/ActionInteractionWkt.java      |   2 +-
 .../models/interaction/coll/DataTableModelWkt.java | 112 ---------------------
 .../wicket/ui/actionresponse/_ResponseUtil.java    |   2 +-
 .../ui/components/collection/CollectionPanel.java  |   2 +-
 .../CollectionPresentationSelectorHelper.java      |   4 +-
 .../CollectionPresentationSelectorPanel.java       |   4 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   6 +-
 .../CollectionContentsAsAjaxTablePanelFactory.java |   2 +-
 .../CollectionContentsSortableDataProvider.java    |   4 +-
 .../ajaxtable/columns/ActionColumn.java            |   4 +-
 .../columns/AssociationColumnAbstract.java         |   2 +-
 .../ajaxtable/columns/GenericColumnAbstract.java   |   2 +-
 .../ajaxtable/columns/PluralColumn.java            |   4 +-
 .../ajaxtable/columns/SingularColumn.java          |   4 +-
 .../ajaxtable/columns/TitleColumn.java             |   4 +-
 .../ajaxtable/columns/ToggleboxColumn.java         |   4 +-
 .../export/CollectionContentsAsExportFactory.java  |   2 +-
 .../icons/CollectionContentsAsIconsPanel.java      |   2 +-
 .../CollectionContentsAsIconsPanelFactory.java     |   2 +-
 .../CollectionContentsMultipleViewsPanel.java      |   6 +-
 ...ollectionContentsMultipleViewsPanelFactory.java |   2 +-
 .../summary/CollectionContentsAsSummary.java       |   2 +-
 .../CollectionContentsAsSummaryFactory.java        |   2 +-
 .../unresolved/CollectionContentsHiddenPanel.java  |   2 +-
 .../CollectionContentsHiddenPanelFactory.java      |   2 +-
 .../entity/collection/EntityCollectionPanel.java   |   4 +-
 .../StandaloneCollectionPanel.java                 |   4 +-
 .../StandaloneCollectionPanelFactory.java          |   2 +-
 .../StandaloneCollectionPage.java                  |   2 +-
 .../apache/causeway/viewer/wicket/ui/util/Wkt.java |   6 +-
 51 files changed, 160 insertions(+), 182 deletions(-)

diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionAbstract.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionAbstract.java
index 2f55c177e5c..229579d8e3d 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionAbstract.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionAbstract.java
@@ -31,7 +31,7 @@ import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.EventProvi
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.EventSource;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.FullCalendar;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.selector.EventSourceSelector;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelUtil;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionFactoryAbstract.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionFactoryAbstract.java
index afe53c0d8eb..8a28efdafc4 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionFactoryAbstract.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/CalendaredCollectionFactoryAbstract.java
@@ -24,7 +24,7 @@ import org.apache.wicket.model.Model;
 
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/EventProviderAbstract.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/EventProviderAbstract.java
index ea46f60cd12..9ae3937696c 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/EventProviderAbstract.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/EventProviderAbstract.java
@@ -37,7 +37,7 @@ import org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.Event;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.EventProvider;
 import org.apache.causeway.valuetypes.jodatime.applib.value.JodaTimeConverters;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 public abstract class EventProviderAbstract implements EventProvider {
 
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendar.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendar.java
index 2c3af99bf51..9728cd57ac1 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendar.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendar.java
@@ -26,7 +26,7 @@ import org.apache.causeway.commons.internal.base._NullSafe;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.EventProvider;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.CalendaredCollectionAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 public class CalendarableCollectionAsFullCalendar
 extends CalendaredCollectionAbstract {
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendarFactory.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendarFactory.java
index 2c9db3d7ab0..3278aa4bac3 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendarFactory.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableCollectionAsFullCalendarFactory.java
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.causeway.extensions.fullcalendar.applib.Calendarable;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.CalendaredCollectionFactoryAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 
 /**
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableEventProvider.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableEventProvider.java
index 27a3a29c133..8c143e74f26 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableEventProvider.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendarable/CalendarableEventProvider.java
@@ -26,7 +26,7 @@ import org.apache.causeway.extensions.fullcalendar.applib.CalendarEventable;
 import org.apache.causeway.extensions.fullcalendar.applib.Calendarable;
 import org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.EventProviderAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 public class CalendarableEventProvider extends EventProviderAbstract {
 
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendar.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendar.java
index 107e5e86e3d..7d82b20bd6d 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendar.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendar.java
@@ -26,7 +26,7 @@ import org.apache.causeway.commons.internal.base._NullSafe;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.extensions.fullcalendar.wkt.integration.fc.EventProvider;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.CalendaredCollectionAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 public class CalendarEventableCollectionAsFullCalendar
 extends CalendaredCollectionAbstract {
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendarFactory.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendarFactory.java
index 15636eaed82..2881f748388 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendarFactory.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableCollectionAsFullCalendarFactory.java
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.causeway.extensions.fullcalendar.applib.CalendarEventable;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.CalendaredCollectionFactoryAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 
 /**
diff --git a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableEventProvider.java b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableEventProvider.java
index 784df53a1f4..456631e452a 100644
--- a/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableEventProvider.java
+++ b/extensions/vw/fullcalendar/wicket/ui/src/main/java/org/apache/causeway/extensions/fullcalendar/wkt/ui/viewer/calendareventable/CalendarEventableEventProvider.java
@@ -25,7 +25,7 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.extensions.fullcalendar.applib.CalendarEventable;
 import org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent;
 import org.apache.causeway.extensions.fullcalendar.wkt.ui.viewer.EventProviderAbstract;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 public class CalendarEventableEventProvider extends EventProviderAbstract {
 
diff --git a/viewers/wicket/model/src/main/java/module-info.java b/viewers/wicket/model/src/main/java/module-info.java
index 84c32538c77..64caf1367c5 100644
--- a/viewers/wicket/model/src/main/java/module-info.java
+++ b/viewers/wicket/model/src/main/java/module-info.java
@@ -31,7 +31,7 @@ module org.apache.causeway.viewer.wicket.model {
     exports org.apache.causeway.viewer.wicket.model.tableoption;
     exports org.apache.causeway.viewer.wicket.model.util;
     exports org.apache.causeway.viewer.wicket.model.mementos;
-    exports org.apache.causeway.viewer.wicket.model.models.interaction.coll;
+    exports org.apache.causeway.viewer.wicket.model.models.coll;
     exports org.apache.causeway.viewer.wicket.model.causeway;
     exports org.apache.causeway.viewer.wicket.model.timetaken;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/itemreuse/ReuseIfRowIndexEqualsStrategy.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/itemreuse/ReuseIfRowIndexEqualsStrategy.java
index 9c4a12c3ea0..c5778ea4f42 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/itemreuse/ReuseIfRowIndexEqualsStrategy.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/itemreuse/ReuseIfRowIndexEqualsStrategy.java
@@ -28,7 +28,7 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.ReuseIfModelsEqualStrategy;
 import org.apache.wicket.model.IModel;
 
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 
 /**
  * Item reuse strategy for {@link DataRowWkt} models based on row index.
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/links/LinksProvider.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/links/LinksProvider.java
index ae9fa6dc65d..dffd7f9dad4 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/links/LinksProvider.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/links/LinksProvider.java
@@ -22,7 +22,7 @@ import org.apache.wicket.markup.html.link.Link;
 
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 
 /**
  * For models - such as {@link CollectionModel} - that can provide an
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ActionModel.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ActionModel.java
index ac547bfd613..ac8f51d2fa2 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ActionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/ActionModel.java
@@ -38,6 +38,8 @@ import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.commons.model.action.HasManagedAction;
 import org.apache.causeway.viewer.commons.model.action.UiActionForm;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.models.interaction.act.ActionInteractionWkt;
 import org.apache.causeway.viewer.wicket.model.models.interaction.act.UiParameterWkt;
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/UiObjectWkt.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/UiObjectWkt.java
index e5d8b9e9e43..a07545c50fe 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/UiObjectWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/UiObjectWkt.java
@@ -47,6 +47,7 @@ import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.commons.model.hints.RenderingHint;
 import org.apache.causeway.viewer.commons.model.object.UiObject;
 import org.apache.causeway.viewer.wicket.model.hints.UiHintContainer;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.interaction.BookmarkedObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.interaction.HasBookmarkedOwnerAbstract;
 import org.apache.causeway.viewer.wicket.model.models.interaction.prop.PropertyInteractionWkt;
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModel.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModel.java
similarity index 97%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModel.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModel.java
index c8012a2c782..e61e03e09b0 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import java.util.Optional;
 
@@ -31,6 +31,7 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.hints.RenderingHint;
 import org.apache.causeway.viewer.wicket.model.links.LinksProvider;
+import org.apache.causeway.viewer.wicket.model.models.HasCommonContext;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelAbstract.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelAbstract.java
similarity index 50%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelAbstract.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelAbstract.java
index e8f73250dd8..b124aa09013 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelAbstract.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelAbstract.java
@@ -16,20 +16,31 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import java.util.List;
 
 import org.apache.wicket.model.ChainingModel;
 
 import org.apache.causeway.applib.Identifier;
+import org.apache.causeway.applib.annotation.Where;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.collections._Lists;
+import org.apache.causeway.core.metamodel.interactions.managed.ManagedAction;
+import org.apache.causeway.core.metamodel.interactions.managed.ManagedCollection;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
+import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataTableModelWkt;
-
+import org.apache.causeway.core.metamodel.tabular.DataTableMemento;
+import org.apache.causeway.viewer.commons.model.object.HasUiParentObject;
+import org.apache.causeway.viewer.commons.model.object.UiObject;
+import org.apache.causeway.viewer.wicket.model.models.ActionModel;
+import org.apache.causeway.viewer.wicket.model.models.interaction.BookmarkedObjectWkt;
+import org.apache.causeway.viewer.wicket.model.models.interaction.HasBookmarkedOwnerAbstract;
+
+import lombok.Getter;
 import lombok.NonNull;
 
 /**
@@ -47,6 +58,82 @@ permits CollectionModelHidden, CollectionModelParented, CollectionModelStandalon
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * Bound to a BookmarkedObjectWkt, with the {@link DataTableInteractive}
+     * representing either a <i>Collection</i> or an <i>Action</i>'s result.
+     *
+     * @implSpec the state of the DataTableModel is held transient,
+     * that means it does not survive a serialization/de-serialization cycle;
+     * it is recreated on load
+     *
+     * @see HasBookmarkedOwnerAbstract
+     */
+    static class DataTableModelWkt
+    extends HasBookmarkedOwnerAbstract<DataTableInteractive>
+    implements
+        HasUiParentObject<UiObject> {
+
+        // -- FACTORIES
+
+        public static DataTableModelWkt forActionModel(
+                final @NonNull BookmarkedObjectWkt bookmarkedObjectModel,
+                final @NonNull ObjectAction actMetaModel,
+                final @NonNull ManagedObject actionResult) {
+
+            var managedAction = ManagedAction
+                    .of(bookmarkedObjectModel.getObject(), actMetaModel, Where.NOT_SPECIFIED);
+            var tableInteractive = DataTableInteractive.forAction(
+                    managedAction,
+                    actionResult);
+            return new DataTableModelWkt(
+                    bookmarkedObjectModel, actMetaModel.getFeatureIdentifier(), tableInteractive);
+        }
+
+        public static @NonNull DataTableModelWkt forCollection(
+                final @NonNull BookmarkedObjectWkt bookmarkedObjectModel,
+                final @NonNull OneToManyAssociation collMetaModel) {
+
+            var tableInteractive = DataTableInteractive.forCollection(
+                    ManagedCollection
+                    .of(bookmarkedObjectModel.getObject(), collMetaModel, Where.NOT_SPECIFIED));
+            return new DataTableModelWkt(
+                    bookmarkedObjectModel, collMetaModel.getFeatureIdentifier(), tableInteractive);
+        }
+
+        // -- CONSTRUCTION
+
+        private static final long serialVersionUID = 1L;
+
+        @Getter private final Identifier featureIdentifier;
+        private final DataTableMemento tableMemento;
+
+        private DataTableModelWkt(
+                final BookmarkedObjectWkt bookmarkedObject,
+                final Identifier featureIdentifier,
+                final DataTableInteractive tableInteractive) {
+            super(bookmarkedObject);
+            this.featureIdentifier = featureIdentifier;
+            this.tableMemento = tableInteractive.createMemento();
+            setObject(tableInteractive); // memoize
+            tableMemento.setupBindings(tableInteractive);
+        }
+
+        // --
+
+        @Override
+        public UiObject getParentUiModel() {
+            return ()->super.getBookmarkedOwner();
+        }
+
+        @Override
+        protected DataTableInteractive load() {
+            var tableInteractive = tableMemento.getDataTableModel(getBookmarkedOwner());
+            tableMemento.setupBindings(tableInteractive);
+            return tableInteractive;
+        }
+
+    }
+
     private final @NonNull Variant variant;
 
     protected CollectionModelAbstract(
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelHidden.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelHidden.java
similarity index 96%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelHidden.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelHidden.java
index 769d40f85e2..b658cbb0b05 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelHidden.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelHidden.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import lombok.NonNull;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelParented.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelParented.java
similarity index 96%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelParented.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelParented.java
index 14d1e73279c..c28c07ea36a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelParented.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelParented.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import org.apache.wicket.Component;
 
@@ -24,7 +24,7 @@ import org.apache.causeway.applib.layout.component.CollectionLayoutData;
 import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataTableModelWkt;
+import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 
 import lombok.Getter;
 import lombok.NonNull;
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelStandalone.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelStandalone.java
similarity index 92%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelStandalone.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelStandalone.java
index 44168ac12a1..695580f0df1 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/CollectionModelStandalone.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/CollectionModelStandalone.java
@@ -16,11 +16,11 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import org.apache.causeway.core.metamodel.object.PackedManagedObject;
+import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import org.apache.causeway.viewer.wicket.model.models.interaction.BookmarkedObjectWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataTableModelWkt;
 
 import lombok.NonNull;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowToggleWkt.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowToggleWkt.java
similarity index 96%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowToggleWkt.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowToggleWkt.java
index def78952375..2bca666a094 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowToggleWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowToggleWkt.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models.interaction.coll;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import java.util.Optional;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowWkt.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowWkt.java
similarity index 90%
rename from viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowWkt.java
rename to viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowWkt.java
index 4ba949ce464..9b3cfc36fbb 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataRowWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/coll/DataRowWkt.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.model.models.interaction.coll;
+package org.apache.causeway.viewer.wicket.model.models.coll;
 
 import java.util.Optional;
 
@@ -24,7 +24,6 @@ import org.apache.wicket.model.ChainingModel;
 
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
 
 import lombok.Getter;
 
@@ -61,7 +60,7 @@ extends ChainingModel<DataRow> {
      * Whether it is safe (free of side-effects) to load/access given model's object.
      * <p>
      * As of [CAUSEWAY-3658], don't call
-     * {@link org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt#getObject()},
+     * {@link org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt#getObject()},
      * when the model's object is not transiently already loaded, because otherwise it would
      * enforce a page-reload as side-effect.
      */
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
index a24f8678b8b..aea0fb6195c 100644
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
@@ -37,11 +37,11 @@ import org.apache.causeway.core.metamodel.interactions.managed.ParameterNegotiat
 import org.apache.causeway.core.metamodel.interactions.managed.PendingParamsSnapshot;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.InlinePromptContext;
 import org.apache.causeway.viewer.wicket.model.models.ParameterModel;
 import org.apache.causeway.viewer.wicket.model.models.PropertyModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.interaction.BookmarkedObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.interaction.HasBookmarkedOwnerAbstract;
 
diff --git a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java b/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
deleted file mode 100644
index 15529a68ca3..00000000000
--- a/viewers/wicket/model/src/main/java/org/apache/causeway/viewer/wicket/model/models/interaction/coll/DataTableModelWkt.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.viewer.wicket.model.models.interaction.coll;
-
-import org.apache.causeway.applib.Identifier;
-import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.core.metamodel.interactions.managed.ManagedAction;
-import org.apache.causeway.core.metamodel.interactions.managed.ManagedCollection;
-import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
-import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.core.metamodel.tabular.DataTableMemento;
-import org.apache.causeway.viewer.commons.model.object.HasUiParentObject;
-import org.apache.causeway.viewer.commons.model.object.UiObject;
-import org.apache.causeway.viewer.wicket.model.models.interaction.BookmarkedObjectWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.HasBookmarkedOwnerAbstract;
-
-import lombok.Getter;
-import lombok.NonNull;
-
-/**
- * Bound to a BookmarkedObjectWkt, with the {@link DataTableInteractive}
- * representing either a <i>Collection</i> or an <i>Action</i>'s result.
- *
- * @implSpec the state of the DataTableModel is held transient,
- * that means it does not survive a serialization/de-serialization cycle;
- * it is recreated on load
- *
- * @see HasBookmarkedOwnerAbstract
- */
-public class DataTableModelWkt
-extends HasBookmarkedOwnerAbstract<DataTableInteractive>
-implements
-    HasUiParentObject<UiObject> {
-
-    // -- FACTORIES
-
-    public static DataTableModelWkt forActionModel(
-            final @NonNull BookmarkedObjectWkt bookmarkedObjectModel,
-            final @NonNull ObjectAction actMetaModel,
-            final @NonNull ManagedObject actionResult) {
-
-        var managedAction = ManagedAction
-                .of(bookmarkedObjectModel.getObject(), actMetaModel, Where.NOT_SPECIFIED);
-        var tableInteractive = DataTableInteractive.forAction(
-                managedAction,
-                actionResult);
-        return new DataTableModelWkt(
-                bookmarkedObjectModel, actMetaModel.getFeatureIdentifier(), tableInteractive);
-    }
-
-    public static @NonNull DataTableModelWkt forCollection(
-            final @NonNull BookmarkedObjectWkt bookmarkedObjectModel,
-            final @NonNull OneToManyAssociation collMetaModel) {
-
-        var tableInteractive = DataTableInteractive.forCollection(
-                ManagedCollection
-                .of(bookmarkedObjectModel.getObject(), collMetaModel, Where.NOT_SPECIFIED));
-        return new DataTableModelWkt(
-                bookmarkedObjectModel, collMetaModel.getFeatureIdentifier(), tableInteractive);
-    }
-
-    // -- CONSTRUCTION
-
-    private static final long serialVersionUID = 1L;
-
-    @Getter private final Identifier featureIdentifier;
-    private final DataTableMemento tableMemento;
-
-    private DataTableModelWkt(
-            final BookmarkedObjectWkt bookmarkedObject,
-            final Identifier featureIdentifier,
-            final DataTableInteractive tableInteractive) {
-        super(bookmarkedObject);
-        this.featureIdentifier = featureIdentifier;
-        this.tableMemento = tableInteractive.createMemento();
-        setObject(tableInteractive); // memoize
-        tableMemento.setupBindings(tableInteractive);
-    }
-
-    // --
-
-    @Override
-    public UiObject getParentUiModel() {
-        return ()->super.getBookmarkedOwner();
-    }
-
-    @Override
-    protected DataTableInteractive load() {
-        var tableInteractive = tableMemento.getDataTableModel(getBookmarkedOwner());
-        tableMemento.setupBindings(tableInteractive);
-        return tableInteractive;
-    }
-
-}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_ResponseUtil.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_ResponseUtil.java
index 985f66829c9..7504ebdc7d9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_ResponseUtil.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/actionresponse/_ResponseUtil.java
@@ -38,8 +38,8 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.object.PackedManagedObject;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import org.apache.causeway.viewer.wicket.model.models.ActionResultModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelStandalone;
 import org.apache.causeway.viewer.wicket.model.models.FormExecutor.ActionResultResponseType;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelStandalone;
 import org.apache.causeway.viewer.wicket.model.models.PageType;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
 import org.apache.causeway.viewer.wicket.model.models.VoidModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/CollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/CollectionPanel.java
index 99f15b3d802..01db61b12d9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -24,7 +24,7 @@ import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelParented;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.ui.components.attributes.AttributePanel;
 import org.apache.causeway.viewer.wicket.ui.components.collection.selector.CollectionPresentationSelectorPanel;
 import org.apache.causeway.viewer.wicket.ui.components.collection.selector.CollectionPresentationSelectorProvider;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
index 77a2adae1ec..d20bc7c9819 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
@@ -33,8 +33,8 @@ import org.apache.causeway.commons.collections.ImmutableEnumSet;
 import org.apache.causeway.core.metamodel.util.Facets;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.hints.UiHintContainer;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelParented;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.util.ComponentHintKey;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryKey;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorPanel.java
index 560961e08bf..83035e0bd37 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorPanel.java
@@ -39,7 +39,7 @@ import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.hints.CausewaySelectorEvent;
 import org.apache.causeway.viewer.wicket.model.links.Menuable;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.util.ComponentHintKey;
 import org.apache.causeway.viewer.wicket.model.util.PageUtils;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
@@ -55,7 +55,7 @@ import lombok.NonNull;
 /**
  * Provides a list of links for selecting other views that support
  * {@link org.apache.causeway.viewer.commons.model.components.UiComponentType#COLLECTION_CONTENTS} with a backing
- * {@link org.apache.causeway.viewer.wicket.model.models.CollectionModel}.
+ * {@link org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel}.
  */
 public class CollectionPresentationSelectorPanel
 extends PanelAbstract<DataTableInteractive, CollectionModel> {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 090856703ed..801ae4c3605 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -35,9 +35,9 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel.Variant;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelParented;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
 import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ActionColumn;
 import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ColumnAbbreviationOptions;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
index a1a3f6107ba..fb036b04c50 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
@@ -24,7 +24,7 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
index 78638ecd137..6e33cb6d856 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
@@ -35,8 +35,8 @@ import org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorF
 import org.apache.causeway.core.metamodel.object.MmSortUtils;
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 
 import lombok.NonNull;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
index 22514cf7f83..fc5c80c20e6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
@@ -28,9 +28,9 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel.ColumnActionModifier;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel.Variant;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
 import org.apache.causeway.viewer.wicket.ui.components.actionlinks.entityactions.ActionLinksPanel;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java
index 1a24961741b..1f68be1b714 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java
@@ -27,7 +27,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java
index f14318e3cbe..1eeb2680d3c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java
@@ -34,7 +34,7 @@ import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
 import org.apache.causeway.viewer.wicket.ui.app.registry.HasComponentFactoryRegistry;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java
index 9c8ed1d40d8..cf8de39cbbc 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java
@@ -34,10 +34,10 @@ import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.tabular.DataColumn;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
 import lombok.Builder;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java
index 4808d794f37..4e055844ceb 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java
@@ -26,9 +26,9 @@ import org.apache.wicket.model.IModel;
 import org.apache.causeway.core.metamodel.commons.ViewOrEditMode;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 
 public final class SingularColumn
 extends AssociationColumnAbstract {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java
index 439ce32979d..6885066e6e5 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java
@@ -26,10 +26,10 @@ import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel.Variant;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
 
 public final class TitleColumn
 extends GenericColumnAbstract {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java
index bad1212cd37..0cd3b4cb6fa 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java
@@ -24,8 +24,8 @@ import org.apache.wicket.Component;
 
 import org.apache.causeway.commons.internal.collections._Lists;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowToggleWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowToggleWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 import org.apache.causeway.viewer.wicket.ui.components.table.DataTableWithPagesAndFilter;
 import org.apache.causeway.viewer.wicket.ui.components.table.nav.selop.SelectOperationChooser;
 import org.apache.causeway.viewer.wicket.ui.components.widgets.checkbox.ContainedToggleboxPanel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java
index 48feb637c3c..94e393835f2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java
@@ -30,7 +30,7 @@ import org.apache.causeway.applib.tabular.TabularExporter;
 import org.apache.causeway.commons.functional.Try;
 import org.apache.causeway.core.metamodel.tabular.simple.DataTable;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
index a88d3d1d22f..e9342df6efe 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
@@ -22,8 +22,8 @@ import org.apache.wicket.markup.repeater.RepeatingView;
 
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.components.entity.header.EntityHeaderPanel;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
index 4db348b4c2d..9d6362528d9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
@@ -23,7 +23,7 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.core.metamodel.util.Facets;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
index 37aa4ae4aeb..0ac47d89f40 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
@@ -27,9 +27,9 @@ import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.hints.CausewayEnvelopeEvent;
 import org.apache.causeway.viewer.wicket.model.hints.CausewaySelectorEvent;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelHidden;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelParented;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelHidden;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.util.ComponentHintKey;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryKey;
 import org.apache.causeway.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java
index f8cdca7afd1..b6fa6dd0de0 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java
@@ -22,7 +22,7 @@ import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
index e9c96d789d5..6d17926bc6c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
@@ -39,7 +39,7 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
index 06147df96b7..7fefd974f32 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
@@ -33,7 +33,7 @@ import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
index 714031996a5..702b032f482 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
@@ -19,7 +19,7 @@
 package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved;
 
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 
 /**
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java
index 24d8d8decd3..0cb1de632d8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java
@@ -24,7 +24,7 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.ui.CollectionContentsAsFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
index f9a15424515..6946cc480cd 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
@@ -32,9 +32,9 @@ import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.util.Facets;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.util.ComponentHintKey;
 import org.apache.causeway.viewer.wicket.ui.components.actionlinks.entityactions.ActionLinksPanel;
 import org.apache.causeway.viewer.wicket.ui.components.collection.CollectionPanel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
index 1a7f3cfc287..de70cb1d7f7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
@@ -27,8 +27,8 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModel;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelStandalone;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelStandalone;
 import org.apache.causeway.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
 import org.apache.causeway.viewer.wicket.ui.components.collection.selector.CollectionPresentationSelectorHelper;
 import org.apache.causeway.viewer.wicket.ui.components.collection.selector.CollectionPresentationSelectorPanel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java
index a09a113fcf7..3b831698a46 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java
@@ -22,7 +22,7 @@ import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelStandalone;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelStandalone;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
index e3e5c69dcaf..3df0ec9a864 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/standalonecollection/StandaloneCollectionPage.java
@@ -34,7 +34,7 @@ import org.apache.causeway.commons.binding.Observable;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.CollectionModelStandalone;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelStandalone;
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
 import org.apache.causeway.viewer.wicket.ui.pages.PageAbstract;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java
index 0f3682c2c69..c1004f4b3f2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java
@@ -110,8 +110,8 @@ import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.commons.model.components.UiString;
 import org.apache.causeway.viewer.wicket.model.hints.CausewayActionCompletedEvent;
 import org.apache.causeway.viewer.wicket.model.hints.CausewayEnvelopeEvent;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowToggleWkt;
-import org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowToggleWkt;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 import org.apache.causeway.viewer.wicket.ui.components.attributes.markup.MarkupComponent;
 import org.apache.causeway.viewer.wicket.ui.components.text.TextAreaWithConverter;
 import org.apache.causeway.viewer.wicket.ui.components.text.TextFieldWithConverter;
@@ -522,7 +522,7 @@ public class Wkt {
              * Whether it is safe (free of side-effects) to load/access given model's object.
              * <p>
              * As of [CAUSEWAY-3658], don't call
-             * {@link org.apache.causeway.viewer.wicket.model.models.interaction.coll.DataRowWkt#getObject()},
+             * {@link org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt#getObject()},
              * when the model's object is not transiently already loaded, because otherwise it would
              * enforce a page-reload as side-effect.
              */