@Override
  public BaseTextOptionsBuilder<O> fromConfig(final Map<String, String> map) {
    if (map == null) {
      return this;
    }

    final Config config = new Config(map);

    options.setNoFooter(config.getBooleanValue(NO_FOOTER));
    options.setNoHeader(config.getBooleanValue(NO_HEADER));
    options.setNoInfo(config.getBooleanValue(NO_INFO));
    options.setAppendOutput(config.getBooleanValue(APPEND_OUTPUT));

    options.setShowUnqualifiedNames(config.getBooleanValue(SHOW_UNQUALIFIED_NAMES));

    options.setAlphabeticalSortForTables(
        config.getBooleanValue(SORT_ALPHABETICALLY_TABLES, options.isAlphabeticalSortForTables()));
    options.setAlphabeticalSortForTableColumns(
        config.getBooleanValue(
            SORT_ALPHABETICALLY_TABLE_COLUMNS, options.isAlphabeticalSortForTableColumns()));

    options.setAlphabeticalSortForRoutines(
        config.getBooleanValue(
            SORT_ALPHABETICALLY_ROUTINES, options.isAlphabeticalSortForRoutines()));

    options.setAlphabeticalSortForRoutineColumns(
        config.getBooleanValue(
            SORT_ALPHABETICALLY_ROUTINE_COLUMNS, options.isAlphabeticalSortForRoutineColumns()));

    return this;
  }
  @Override
  public Config toConfig() {
    final Config config = new Config();

    config.setBooleanValue(NO_FOOTER, options.isNoFooter());
    config.setBooleanValue(NO_HEADER, options.isNoHeader());
    config.setBooleanValue(NO_INFO, options.isNoInfo());
    config.setBooleanValue(APPEND_OUTPUT, options.isAppendOutput());

    config.setBooleanValue(SHOW_UNQUALIFIED_NAMES, options.isShowUnqualifiedNames());

    config.setBooleanValue(SORT_ALPHABETICALLY_TABLES, options.isAlphabeticalSortForTables());
    config.setBooleanValue(
        SORT_ALPHABETICALLY_TABLE_COLUMNS, options.isAlphabeticalSortForTableColumns());

    config.setBooleanValue(SORT_ALPHABETICALLY_ROUTINES, options.isAlphabeticalSortForRoutines());

    config.setBooleanValue(
        SORT_ALPHABETICALLY_ROUTINE_COLUMNS, options.isAlphabeticalSortForRoutineColumns());

    return config;
  }