private Map<ArtistPair, Integer> solve(List<String> lines, final int minOccurrences) {
		Map<ArtistPair, Integer> map = Maps.newHashMap();

		for (String line : lines) {
			List<ArtistPair> artistPairs = ArtistDataManager.getPairs(line);

			for (ArtistPair pair : artistPairs) {
				if (map.get(pair) != null) {
					map.put(pair, map.get(pair)+1);
				} else {
					map.put(pair, 1);
				}
			}
		}

		return Maps.filterValues(map, new Predicate<Integer>() {
			@Override 
			public boolean apply(Integer k) {
				return k >= minOccurrences;			
			}   
		});	
	}