docs: public void setNCharacterStream(int i, Reader x) throws SQLException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); 
  
          if (isTraceOn && tc.isDebugEnabled())
              Tr.debug(this, tc, "setNCharacterStream #" + i); 
  
          try {
              pstmtImpl.setCharacterStream(i, x); 
          } catch (SQLException sqlX) {
              FFDCFilter.processException(
                                          sqlX, getClass().getName() + ".setNCharacterStream", "1499", this);
              throw WSJdbcUtil.mapException(this, sqlX);
          } catch (NullPointerException nullX) {
              // No FFDC code needed; we might be closed.
              throw runtimeXIfNotClosed(nullX);
          } catch (AbstractMethodError methError) {
              // No FFDC code needed; wrong JDBC level.
              throw AdapterUtil.notSupportedX("PreparedStatement.setNCharacterStream", methError);
          }
          catch (RuntimeException runX) {
              FFDCFilter.processException(
                                          runX, getClass().getName() + ".setNCharacterStream", "1853", this);
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(this, tc, "setNCharacterStream", runX); 
              throw runX;
          } catch (Error err) {
              FFDCFilter.processException(
                                          err, getClass().getName() + ".setNCharacterStream", "1860", this);
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(this, tc, "setNCharacterStream", err); 
              throw err;
          }
      }