parquet-thrift/src/main/java/org/apache/parquet/thrift/projection/StrictFieldProjectionFilter.java
static List<String> parseSemicolonDelimitedString(String columnsToKeepGlobs) {
    String[] splits = columnsToKeepGlobs.split(GLOB_SEPARATOR);
    List<String> globs = new ArrayList<String>();
    for (String s : splits) {
      if (!s.isEmpty()) {
        globs.add(s);
      }
    }

    if (globs.isEmpty()) {
      throw new ThriftProjectionException(String.format("Semicolon delimited string '%s' contains 0 glob strings",
          columnsToKeepGlobs));
    }

    return globs;
  }
static List<String> parseSemicolonDelimitedString(String columnsToKeepGlobs) {
    String[] splits = columnsToKeepGlobs.split(GLOB_SEPARATOR);
    List<String> globs = new ArrayList<String>();
    for (String s : splits) {
      if (!s.isEmpty()) {
        globs.add(s);
      }
    }

    if (globs.isEmpty()) {
      throw new ThriftProjectionException(String.format("Semicolon delimited string '%s' contains 0 glob strings",
          columnsToKeepGlobs));
    }

    return globs;
  }
visible for testing