code: public static HashingReader createHashingReader( Algorithm algorithm,
                                                       Reader reader,
                                                       Charset charset ) throws NoSuchAlgorithmException {
          return createHashingReader(algorithm.digestName(), reader, charset);
      }
docs: Create an Reader instance that wraps another reader and that computes the secure hash (using the algorithm with the
  supplied name) as the returned Reader is used. This can be used to compute the hash while the content is being processed,
  and saves from having to process the same content twice.
  
  @param algorithm the hashing function algorithm that should be used
  @param reader the reader containing the content that is to be hashed
  @param charset the character set used within the supplied reader; may not be null
  @return the hash of the contents as a byte array
  @throws NoSuchAlgorithmException