code: public Reader getCharacterStream(long pos, long length) throws SQLException {
      String val = toString();
      if (val.length() < (int) pos - 1 + length) {
        throw ExceptionMapper
            .getSqlException("pos + length is greater than the number of characters in the Clob");
      }
      String sub = val.substring((int) pos - 1, (int) pos - 1 + (int) length);
      return new StringReader(sub);
    }
docs: Returns a Reader object that contains a partial Clob value, starting with the character
  specified by pos, which is length characters in length.
  
  @param pos    the offset to the first character of the partial value to be retrieved. The first
  character in the Clob is at position 1.
  @param length the length in characters of the partial value to be retrieved.
  @return Reader through which the partial Clob value can be read.
  @throws SQLException if pos is less than 1 or if pos is greater than the number of characters
  in the Clob or if pos + length is greater than the number of characters in
  the Clob