private PO createNode(int nodeId, int parentId) { final String nodeTableName = getNodeTableName(); PO node = null; if (nodeTableName.equals(MTree_Node.Table_Name)) { MTree_Node n = new MTree_Node(this, nodeId); if (nodeId != ROOT_Node_ID) n.setParent_ID(parentId); node = n; } else if (nodeTableName.equals(MTree_NodeBP.Table_Name)) { MTree_NodeBP n = new MTree_NodeBP(this, nodeId); if (nodeId != ROOT_Node_ID) n.setParent_ID(parentId); node = n; } else if (nodeTableName.equals(MTree_NodePR.Table_Name)) { MTree_NodePR n = new MTree_NodePR(this, nodeId); if (nodeId != ROOT_Node_ID) n.setParent_ID(parentId); node = n; } else if (nodeTableName.equals(MTree_NodeMM.Table_Name)) { MTree_NodeMM n = new MTree_NodeMM(this, nodeId); if (nodeId != ROOT_Node_ID) n.setParent_ID(parentId); node = n; } else { throw new AdempiereException("No Table Model for " + nodeTableName); } node.saveEx(); return node; }