public Chord pickRandomWeighted(Chord chord){
		String next ="";
		double total = 0;
		String chordString = chord.toString();
		if(histogram.get(chordString).isEmpty()){
			return null;
		}
		for(Integer i: histogram.get(chordString).values()){
			total+=i;
		}
		
		int random = (int) (Math.random()*(total+1));

		for (Entry<String, Integer> entry : histogram.get(chordString).entrySet()){
		    random -= entry.getValue();
		    if (random <= 0.0d){
		        next = entry.getKey();
		        break;
		    }
		}
		if(next.equals("")){
			return null;
		}
		return chordList.get(next);
	}