code: public Helix getByLargestContactsNotLowestAngle() {
  		double contacts = 0;
  		Helix lowest = getByLowestAngle();
  		// TODO why are there helices with almost identical helix parameters??
  		double angle = lowest.getAngle() + 0.05;
  		Helix largest = null;
  		for (Helix helix: helices) {
  			if (helix == lowest) {
  				continue;
  			}
  			if (helix.getContacts() > contacts && helix.getAngle() > angle) {
  				contacts = helix.getContacts();
  				largest = helix;
  			}
  		}
  		if (largest == null) {
  			return lowest;
  		}
  		return largest;
  	}
docs: /*
  Returns Helix that has the largest number of contacts, besides
  the Helix with the lowest twist angle