private Map<Long, Double> filterGeneScores(Map<Long, Double> scores, SearchResult options) { Map<Long, Gene> queryGenes = options.getQueryGenes(); double maxScore = 0; for (Map.Entry<Long, Double> entry : scores.entrySet()) { if (queryGenes.containsKey(entry.getKey())) { continue; } maxScore = Math.max(maxScore, entry.getValue()); } Map<Long, Double> filtered = new HashMap<Long, Double>(); for (Map.Entry<Long, Double> entry : scores.entrySet()) { long nodeId = entry.getKey(); double score = entry.getValue(); filtered.put(entry.getKey(), queryGenes.containsKey(nodeId) ? maxScore : score); } return filtered; }