parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
Set<org.apache.parquet.column.Encoding> fromFormatEncodings(List<Encoding> encodings) {
    Set<org.apache.parquet.column.Encoding> converted = new HashSet<org.apache.parquet.column.Encoding>();

    for (Encoding encoding : encodings) {
      converted.add(getEncoding(encoding));
    }

    // make converted unmodifiable, drop reference to modifiable copy
    converted = Collections.unmodifiableSet(converted);

    // atomically update the cache
    Set<org.apache.parquet.column.Encoding> cached = cachedEncodingSets.putIfAbsent(converted, converted);

    if (cached == null) {
      // cached == null signifies that converted was *not* in the cache previously
      // so we can return converted instead of throwing it away, it has now
      // been cached
      cached = converted;
    }

    return cached;
  }
Set<org.apache.parquet.column.Encoding> fromFormatEncodings(List<Encoding> encodings) {
    Set<org.apache.parquet.column.Encoding> converted = new HashSet<org.apache.parquet.column.Encoding>();

    for (Encoding encoding : encodings) {
      converted.add(getEncoding(encoding));
    }

    // make converted unmodifiable, drop reference to modifiable copy
    converted = Collections.unmodifiableSet(converted);

    // atomically update the cache
    Set<org.apache.parquet.column.Encoding> cached = cachedEncodingSets.putIfAbsent(converted, converted);

    if (cached == null) {
      // cached == null signifies that converted was *not* in the cache previously
      // so we can return converted instead of throwing it away, it has now
      // been cached
      cached = converted;
    }

    return cached;
  }
Set < org . apache . parquet . column . Encoding > fromFormatEncodings ( List < Encoding > encodings ) { Set < org . apache . parquet . column . Encoding > converted = new HashSet < org . apache . parquet . column . Encoding > ( ) ; for ( Encoding encoding : encodings ) { converted . add ( getEncoding ( encoding ) ) ; } // make converted unmodifiable, drop reference to modifiable copy converted = Collections . unmodifiableSet ( converted ) ; // atomically update the cache Set < org . apache . parquet . column . Encoding > cached = cachedEncodingSets . putIfAbsent ( converted , converted ) ; if ( cached == null ) { // cached == null signifies that converted was *not* in the cache previously // so we can return converted instead of throwing it away, it has now // been cached cached = converted ; } return cached ; }
Visible for testing
Visible for testing