private boolean canAddTableToFromClause(Table table, Map<Table, List<JoinCriteria>> destMap, List<Table> allTables) {
    	if ((table == null) || allTables.contains(table)) {
    		return false;
    	}
    	if ((destMap.get(table) != null) && (destMap.get(table).size() > 0)) {
    		List<JoinCriteria> list = destMap.get(table);    		
    		for (JoinCriteria jc : list) {
    			if (JoinType.isOuter(jc.getJoinType())) {
    				return false;
    			}
    		}
    	}    	
    	return true;
    }
private boolean canAddTableToFromClause ( Table table , Map < Table , List < JoinCriteria > > destMap , List < Table > allTables ) { if ( ( table == null ) || allTables . contains ( table ) ) { return false ; } if ( ( destMap . get ( table ) != null ) && ( destMap . get ( table ) . size ( ) > 0 ) ) { List < JoinCriteria > list = destMap . get ( table ) ; for ( JoinCriteria jc : list ) { if ( JoinType . isOuter ( jc . getJoinType ( ) ) ) { return false ; } } } return true ; }
outer joins are written in Table class