anchor.diff:      }
       if (portal is ComponentPortal) {
         _attachedPortal = portal;
  +      portal.setAttachedHost(this);
         return attachComponentPortal(portal);
       } else if (portal is TemplatePortal) {
         _attachedPortal = portal;
  +      portal.setAttachedHost(this);
         return attachTemplatePortal(portal);
       } else if (portal == null) {
         throw ArgumentError.notNull('portal');
  
positive.code: 
    @override
    Future<Map<String, dynamic>> attachTemplatePortal(TemplatePortal portal) {
      portal.setAttachedHost(this);
      final viewRef = _viewContainerRef.createEmbeddedView(portal.template);
      portal.locals.forEach(viewRef.setLocal);
      setPortalDisposer(_viewContainerRef.clear);
  
negative.code:   Future<ComponentRef> attachComponentPortal(ComponentPortal portal) {
      // By default, use the portal host as the origin. If [portal.origin] is set
      // however, then use that.
      var viewContainerRef = _viewContainerRef;
      if (portal.origin != null) {
        viewContainerRef = portal.origin;
  