code: @Nonnull
    public ExpressionTreeElement addSubTree(@Nonnull final ExpressionTree tree) {
      assertNotEmptySlot();
  
      final ExpressionTreeElement root = tree.getRoot();
      if (!root.isEmptySlot()) {
        root.makeMaxPriority();
        addElementToNextFreeSlot(root);
      }
      return this;
    }
docs: Add a tree as new child and make the maximum priority for it
  
  @param tree a tree to be added as a child, must not be null
  @return it returns this