docs: private Map<String, Double> distance1Generation(String word) {
          if (word == null || word.length() < 1) throw new RuntimeException("Input words Error: " + word);
  
          Map<String, Double> result = new HashMap<String, Double>();
  
          String prev;
          String last;
  
          for (int i = 0; i < word.length(); i++) {
              // Deletion
              prev = word.substring(0, i);
              last = word.substring(i + 1, word.length());
              result.put(prev + last, 1.0);
  
              // transposition
              if ((i + 1) < word.length()) {
                  prev = word.substring(0, i);
                  last = word.substring(i + 2, word.length());
                  String trans = prev + word.charAt(i + 1) + word.charAt(i) + last;
                  result.put(trans, 1.0);
              }
  
              // alter
              prev = word.substring(0, i);
              last = word.substring(i + 1, word.length());
              for (int j = 0; j < 26; j++) {
                  result.put(prev + (char) (j + 97) + last, 1.0);
              }
  
              // insertion
              prev = word.substring(0, i);
              last = word.substring(i + 1, word.length());
              for (int j = 0; j < 26; j++) {
                  result.put(prev + (char) (j + 97) + word.charAt(i) + last, 1.0);
                  result.put(prev + word.charAt(i) + (char) (j + 97) + last, 1.0);
              }
  
          }
  
          result.remove(word);
          return result;
      }