code: protected void putPhase(Map<String, DevelopmentPhase> map, String key, DevelopmentPhase phase) {
  
      String newKey = key.toLowerCase(Locale.US);
      while (newKey != null) {
        DevelopmentPhase existingPhase = map.get(newKey);
        if ((existingPhase != null) && (existingPhase != phase)) {
          throw new IllegalStateException("Development phase '" + phase + "' has key '" + newKey + "' that is already mapped to '" + existingPhase + "'.");
        }
        map.put(newKey, phase);
        if (newKey.contains("-")) {
          newKey = newKey.replace("-", "");
        } else {
          newKey = null;
        }
      }
    }
docs: This method puts the given {@code phase} in the given {@code map} using normalized variants of the given
  {@code key}.
  
  @param map is the {@link #getPhaseMap()}.
  @param key is the key.
  @param phase is the {@link DevelopmentPhase} to put.