@Nonnull
  public ExpressionTreeElement addSubTree(@Nonnull final ExpressionTree tree) {
    assertNotEmptySlot();

    final ExpressionTreeElement root = tree.getRoot();
    if (!root.isEmptySlot()) {
      root.makeMaxPriority();
      addElementToNextFreeSlot(root);
    }
    return this;
  }
@ Nonnull public ExpressionTreeElement addSubTree ( @ Nonnull final ExpressionTree tree ) { assertNotEmptySlot ( ) ; final ExpressionTreeElement root = tree . getRoot ( ) ; if ( ! root . isEmptySlot ( ) ) { root . makeMaxPriority ( ) ; addElementToNextFreeSlot ( root ) ; } return this ; }
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