switch ( nodeType ) {
case NodeTypeEnums.JoinNode:
return new JoinNode( 0, leftInput, rightInput, betaConstraints, buildContext );
case NodeTypeEnums.NotNode:
return new NotNode( 0, leftInput, rightInput, betaConstraints, buildContext );
case NodeTypeEnums.ExistsNode:
return new ExistsNode( 0, leftInput, rightInput, betaConstraints, buildContext );
}
throw new IllegalStateException( "Unable to build Node" );
}