@Override
  public GZIPCompressionInputStream createInputStream( InputStream in ) throws IOException {
    return new GZIPCompressionInputStream( in, this );
  }
@Test
  public void testCreateInputStream() throws IOException {
    GZIPCompressionProvider provider = (GZIPCompressionProvider) factory.getCompressionProviderByName( PROVIDER_NAME );

    // Create an in-memory GZIP output stream for use by the input stream (to avoid exceptions)
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    GZIPOutputStream gos = new GZIPOutputStream( baos );
    byte[] testBytes = "Test".getBytes();
    gos.write( testBytes );
    ByteArrayInputStream in = new ByteArrayInputStream( baos.toByteArray() );

    // Test stream creation paths
    GZIPInputStream gis = new GZIPInputStream( in );
    in = new ByteArrayInputStream( baos.toByteArray() );
    GZIPCompressionInputStream ncis = provider.createInputStream( in );
    assertNotNull( ncis );
    GZIPCompressionInputStream ncis2 = provider.createInputStream( gis );
    assertNotNull( ncis2 );
  }