public static boolean distanciaUnaLetra (final String cad1, final String cad2){
        if (cad1.length() == cad2.length() ){
            final String cadena1 = cad1.toUpperCase(LOCALE_ES);
            final String cadena2 = cad2.toUpperCase(LOCALE_ES);
            for (int i = 0; i < cad1.length(); i++){
                final StringBuilder test1 = new StringBuilder();
                final StringBuilder test2 = new StringBuilder();
                test1.append(cadena1);
                test2.append(cadena2);
                test1.setCharAt(i, 'X');
                test2.setCharAt(i, 'X');
                if (test1.toString().equals(test2.toString())){
                    return true;
                }
            }
        }
        else if (Math.abs(cad1.length() - cad2.length()) == 1){
            String mayor = cad1.toUpperCase(LOCALE_ES);
            String menor = cad2.toUpperCase(LOCALE_ES);
            if (mayor.length() < menor.length()){
                final String tmp = mayor;
                mayor = menor;
                menor = tmp;
            }
            for (int i = 0; i < mayor.length(); i++){
                final StringBuilder test1 = new StringBuilder();
                final StringBuilder test2 = new StringBuilder();
                test1.append(mayor);
                test2.append(menor);
                test1.setCharAt(i, 'X');
                test2.insert(i, 'X');
                if (test1.toString().equals(test2.toString())){
                    return true;
                }
            }
        }
        
        return false;
    }