code: private int transitionsHashCode() {
          int hc = 0;
  
          for (Entry<Character, LevenshteinAutomatonState> e : transitions.entrySet())
              hc += e.getKey().hashCode() + System.identityHashCode(e.getValue());
  
          return hc;
      }
docs: Compute the hashcode for transitions. We do not rely on the{@link java.util.TreeMap#hashCode()},
  because it will recursively compute the hashcodes of the to-states, which is not necessary since
  two states are only identical when they have the same symbols leading to exactly the same objects.
  
  @return The hashcode of the transition table.