public List<IRowId<?,?>> combine(String query) throws Exception {
		HQuery hquery = HQueryParser.parse(query);

		List<IFederatedSource> sources = new ArrayList<IFederatedSource>();
		List<HTerm> terms = new ArrayList<HQuery.HTerm>();
		
		HQuery.toTerms(hquery, terms);
		
		for (HTerm aTerm : terms) {
			IFederatedSource fs = buildSource(aTerm);
			fs.setTerm(aTerm);
			sources.add(fs);
		}

		FederatedExecutor.search(sources);
		
		List<IRowId<?,?>> finalResult = new ArrayList<IRowId<?,?>>();
		HQueryCombiner.combine(hquery, finalResult);
		
		return finalResult;
	}