/**
   * @param stringOfState for example "(steady incompressible ras)"
   * @return for example "simpleFoam"
   */
  public String toPrimalState(State state) {
    String state2String = state.state2String();

    Dictionary statesDict = getStates();

    // System.out.println("AbstractDefaultsProvider.toPrimalState() "+statesDict);

    if (statesDict != null) {
      Map<String, String> STATES = Util.invertMap(statesDict.getFieldsMap());

      if (STATES.containsKey(state2String)) {
        return STATES.get(state2String);
      } else {
        logger.warn("[ {} Provider ]: State '{}' NOT AVAILABLE", getName(), state2String);
        return null;
      }
    } else {
      logger.warn("[ {} Provider ]: State '{}' NOT AVAILABLE", getName(), state2String);
      return null;
    }
  }