Breadcrumb

Comment raised by UK during he TC Approval of CEN/TS 16157-2.
Comment:
Location is a subclass of GroupOfLocations, meaning that Location is a kind of GroupOfLocations. These unconventional semantics may cause perplexity. Even through a Group can represent a single Location, it does not seem right that every single Location is considered to always be a Group. If one is thinking about a single location, say a specific roadside reference point, would one ever naturally consider it to be a group of locations that happens to have 1 instance? While it would be possible to consider it that way, it is surely unnatural and contrived.
Instead there is a widely used conventional design pattern in software engineering for dealing with composite objects where substitutability is desired – the "Composite" design pattern. This would allow a composite GroupOfLocations to be a kind of Location (which seems semantically more valid).

Proposal:
Refactor using a conventional "composite" design pattern, so that a composite GroupOfLocations is a kind of Location.