code: function addNode(container, node, ref_node) {
      var ownerRoot = this.ownerShadyRootForNode(container);
      if (ownerRoot) {
        // optimization: special insertion point tracking
        if (node.__noInsertionPoint && ownerRoot._clean) {
          ownerRoot._skipUpdateInsertionPoints = true;
        }
        // note: we always need to see if an insertion point is added
        // since this saves logical tree info; however, invalidation state
        // needs
        var ipAdded = this._maybeAddInsertionPoint(node, container, ownerRoot);
        // invalidate insertion points IFF not already invalid!
        if (ipAdded) {
          ownerRoot._skipUpdateInsertionPoints = false;
        }
      }
      if (tree.Logical.hasChildNodes(container)) {
        tree.Logical.recordInsertBefore(node, container, ref_node);
      }
      // if not distributing and not adding to host, do a fast path addition
      var handled = this._maybeDistribute(node, container, ownerRoot) ||
        container.shadyRoot;
      return handled;
    }
docs: Try to add node. Record logical info, track insertion points, perform distribution iff needed. Return true if the add is handled.