code: private String generateAlpha(int clusterInd) {
  		String key;
  		int alphabetInd;
  		switch (strategy) {
  			case CYCLE:
  				alphabetInd = clusterInd % alphabet.length();
  				key = alphabet.substring(alphabetInd, alphabetInd + 1);
  				break;
  
  			case DOUBLE:
  				if (orderedClusters.size()>alphabet.length()) {
  					int alphabetInd1 = clusterInd / alphabet.length();
  					int alphabetInd2 = clusterInd % alphabet.length();
  					key = alphabet.substring(alphabetInd1, alphabetInd1 + 1);
  					key+=alphabet.substring(alphabetInd2, alphabetInd2 + 1);
  				} else {
  					key = alphabet.substring(clusterInd, clusterInd + 1);
  				}
  				break;
  
  			case QUESTIONMARK:
  				key = "?";
  				if(clusterInd<alphabet.length()) {
  					key = alphabet.substring(clusterInd, clusterInd + 1);
  				}
  				break;
  
  			case CUSTOM:
  				throw new IllegalStateException("Alphas should be handled by the custom generator function.");
  
  			default:
  				key = "?";
  				if(clusterInd<alphabet.length()) {
  					key = alphabet.substring(clusterInd, clusterInd + 1);
  				}
  				break;
  		}
  		return key;
  	}
docs: Produce a string ("alpha") that describes each component depending on the current strategy.
  @param clusterInd
  component index
  @return alphanumeric string.