code: @SuppressWarnings("unchecked")
  	public static <T extends Levenshtein> T weightedLevenshtein(
  			String baseTarget, String compareTarget, CharacterSubstitution characterSubstitution) {
  		return (T) new WeightedLevenshtein(baseTarget, characterSubstitution).update(compareTarget);
  	}
docs: Returns a new Weighted Levenshtein edit distance instance with compare target string
  
  @see WeightedLevenshtein
  @param baseTarget
  @param compareTarget
  @param characterSubstitution
  @return