anchor.diff:            _componentFactory, _viewContainerRef);
         _onLoadController.add(_childComponent);
         _updateChildComponent();
  -    } else {
  +    } else if (_componentType != null) {
         // TODO(google): Remove this code once componentType is no longer used.
         Type loadType = _componentType;
         _slowComponentLoader
  
positive.code:     _childComponent = null;
    }
  
    void _checkAndInitialize() {
      _disposeChildComponent();
      if (_viewContainerRef != null) {
        _initialize();
      } else {
        _loadDeferred = true;
      }
    }
  
    /// The type of component to dynamically render.
    ///
    /// If something other than a null or Type is passed in, it will
    /// be ignored.
    @Deprecated('Use componentFactory instead as it is more tree-shakable')
    @Input()
    set componentType(Object dartType) {
      // Ignore unsupported type.
      if (dartType == null) {
        _disposeChildComponent();
      } else if (dartType is Type) {
        _componentFactory = null;
        _componentType = dartType;
        _checkAndInitialize();
      }
    }
  
    /// The ComponentFactory of component to dynamically render.
    ///
    /// If something other than a null or ComponentFactory is passed in, it will
    /// be ignored. Note: This only temporarially supports Object to allow for
    /// an easier transition of code. This does make this code slightly slower,
    /// but will be changed to [ComponentFactory] when [componentType] is
    /// removed.
    @Input()
    set componentFactory(Object component) {
      if (component == null) {
        _disposeChildComponent();
      } else if (component is ComponentFactory) {
        _componentType = null;
        _componentFactory = component;
        _checkAndInitialize();
      }
    }
  
    void _initialize() {
  
negative.code:     }
    }
  
    void _updateChildComponent() {
      _changeDetectorRef.markForCheck();
  
  