public AbstractBinaryTraversal(IBinaryTreeNode<T> node){
  if (node == null) {
    throw new NullPointerException("AbstractBinaryTraversal received null starting point");
  }
  stack.add(new Moment(node,initialPhase()));
  advance();
}

public AbstractBinaryTraversal ( IBinaryTreeNode < T > node ) { if ( node == null ) { throw new NullPointerException ( "AbstractBinaryTraversal received null starting point" ) ; } stack . add ( new Moment ( node , initialPhase ( ) ) ) ; advance ( ) ; }
start the traversal at the given node .
