presto-rcfile/src/main/java/io/prestosql/rcfile/HadoopCodecFactory.java/HadoopCodecFactory/createCompressionCodec
class HadoopCodecFactory:    private CompressionCodec createCompressionCodec(String codecName)
    {
        try {
            Class<? extends CompressionCodec> codecClass = classLoader.loadClass(codecName).asSubclass(CompressionCodec.class);
            Constructor<? extends CompressionCodec> constructor = codecClass.getDeclaredConstructor();
            constructor.setAccessible(true);
            CompressionCodec codec = constructor.newInstance();
            if (codec instanceof Configurable) {
                // Hadoop is crazy... you have to give codecs an empty configuration or they throw NPEs
                // but you need to make sure the configuration doesn't "load" defaults or it spends
                // forever loading XML with no useful information
                ((Configurable) codec).setConf(new Configuration(false));
            }
            return codec;
        }
        catch (ReflectiveOperationException e) {
            throw new IllegalArgumentException("Unknown codec: " + codecName, e);
        }
    }