code: protected SQLException closeWrapper(boolean closeWrapperOnly) 
      {
          // Indicate the statement is closed by setting the parent object's statement to null.
          // This will allow us to be garbage collected.
  
          try // Connection wrapper can close at any time.
          {
              parentWrapper.childWrappers.remove(this);
          } catch (RuntimeException runtimeX) {
              // No FFDC code needed; parent wrapper might be closed.
              if (parentWrapper.state != State.CLOSED)
                  throw runtimeX;
          }
  
          try // Close the JDBC driver ResultSet implemenation object.
          {
              stmtImpl.close();
          } catch (SQLException closeX) {
              FFDCFilter.processException(closeX,
                                          "com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.closeWrapper", "314", this);
  
              stmtImpl = null;
              return WSJdbcUtil.mapException(this, closeX);
          }
  
          stmtImpl = null;
          return null;
      }
docs: Perform any wrapper-specific close logic. This method is called by the default
  WSJdbcObject close method.
  
  @param closeWrapperOnly boolean flag to indicate that only wrapper-closure activities
  should be performed, but close of the underlying object is unnecessary.
  
  @return SQLException the first error to occur while closing the object.
  @see com.ibm.ws.rsadapter.jdbc.WSJdbcObject#closeWrapper(boolean)