@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;
  }