class ProgressTrackingOutputStream extends OutputStream {

    @Override
    public void write( byte[] b, int off, int len ) throws IOException
    {
        actual.write( b, off, len );
        progress.add( len );
    }

      ProgressTrackingOutputStream( OutputStream actual, Progress progress );

}