code: public final void addChildrenToFront(@Nullable Node children) {
      if (children == null) {
        return; // removeChildren() returns null when there are none
      }
      // NOTE: If there is only one sibling, its previous pointer must point to itself.
      // Null indicates a fully detached node.
      checkNotNull(children.previous, children);
      for (Node child = children; child != null; child = child.next) {
        checkArgument(child.parent == null);
        child.parent = this;
      }
  
      Node lastSib = children.previous;
      if (first != null) {
        Node last = first.previous;
        // NOTE: last.next remains null
        children.previous = last;
        lastSib.next = first;
        first.previous = lastSib;
      }
      first = children;
    }
docs: Add all children to the front of this node.
  
  @param children first of a list of sibling nodes who have no parent.
  NOTE: Usually you would get this argument from a removeChildren() call.
  A single detached node will not work because its sibling pointers will not be
  correctly initialized.