public static Map<Concept, TreeSet<SNP>> run( Map<Concept, LinkedList<Gene>> conceptToGenes, Map<Gene, LinkedList<SNP>> geneToSNPs) { Map<Concept, TreeSet<SNP>> map = new HashMap<Concept, TreeSet<SNP>>(); for (Concept concept : conceptToGenes.keySet()) { TreeSet<SNP> snpSet = new TreeSet<SNP>(); for (Gene gene : conceptToGenes.get(concept)) { if (geneToSNPs.containsKey(gene)) { concept.addGene(gene); for (SNP snp : geneToSNPs.get(gene)) { snpSet.add(snp); concept.addSNP(snp); } } } map.put(concept, snpSet); } return map; }