code: private static Reader createFreeOnCloseReader(final Clob clob, final Reader reader) {
          return new Reader() {
  
              @Override
              public void close() throws IOException {
                  try {
                      reader.close();
                  } finally {
                      try {
                          clob.free();
                      } catch (SQLException e) {
                          log.debug(e.getMessage());
                      }
                  }
              }
  
              @Override
              public int read(char[] cbuf, int off, int len) throws IOException {
                  return reader.read(cbuf, off, len);
              }
          };
      }
docs: Automatically frees the clob (<code>Clob.free()</code>) once the clob
  Reader is closed.
  
  @param clob
  @param reader
  @return