code: @Override
  	public void accept(Visitor<OptimizerNode> visitor) {
  		if (visitor.preVisit(this)) {
  			if (getPredecessorNode() != null) {
  				getPredecessorNode().accept(visitor);
  			} else {
  				throw new CompilerException();
  			}
  			visitor.postVisit(this);
  		}
  	}
docs: --------------------------------------------------------------------------------------------