anchor.diff:  @DomainObject(
           objectType = "aliasdemo.AliasableLinkForDemoObject"
   )
  -public class AliasableLinkForDemoObject extends AliasableLink {                     // <1>
  +public class AliasableLinkForDemoObject extends AliasableLink {                  // <1>
   
       @DomainService(nature = NatureOfService.DOMAIN)
       @DomainServiceLayout(menuOrder = "1")
  -    public static class InstantiationSubscriber extends AbstractSubscriber {    // <2>
  +    public static class InstantiationSubscriber extends AbstractSubscriber {     // <2>
           @Programmatic
           @Subscribe
           public void on(final InstantiateEvent ev) {
  
positive.code:     }
  
      @Override
      public void setPolymorphicReference(final Aliasable polymorphicReference) {   // <3>
          super.setPolymorphicReference(polymorphicReference);
          setDemoObject((AliasDemoObject) polymorphicReference);
      }
  
negative.code: contribute the collections and actions.
  
  * subclass the `AliasableLink` abstract class and also implement a domain event subscriber to correctly instantiate
  the subclass.
  
  For example, in the demo app the `AliasableLinkForDemoObject` implements both of these responsibilities:
  
  [source,java]
  ----
  @javax.jdo.annotations.PersistenceCapable(
  