public List<ORASSNode> buildORASS(ErdNode root) throws MainException {

		List<ORASSNode> rootNodes = new ArrayList<ORASSNode>();
		logger.info(root.getTableName());
		ORASSNode rootNode = processEntity(root);
		rootNodes.add(rootNode);
		// Check and process unlinked nodes
		
		if(processedNodes.size()<entities.size()){
			Set<String> allTables = entities.keySet();
			Iterator<String> tableItr = allTables.iterator();
			while(tableItr.hasNext()){
				String tableName = tableItr.next();
				if(!processedNodes.contains(tableName)){
					ErdNode erNode = entities.get(tableName);
					ORASSNode additionalRoot = processEntity(erNode);
					rootNodes.add(additionalRoot);
				}
			}
		}
		logger.info(rootNodes.size());
		return rootNodes;
	}