docs: public boolean getMoreResults(int current) throws SQLException { 
  
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); 
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(this, tc, "getMoreResults", AdapterUtil.getResultSetCloseString(current));
  
          boolean hasMoreResults = false;
          boolean deferCloseOnCompletion = closeOnCompletion; // Save closeOnCompletion value
          closeOnCompletion = false; // temporarily disable closeOnCompletion because there may
          // be a short time here where this Statement doesn't have reference to any more ResultSets
  
          try {
              switch (current) {
                  case Statement.CLOSE_ALL_RESULTS:
  
                      // Close all the result sets
                      if (childWrapper != null) {
                          closeAndRemoveResultSet(true); 
                      }
  
                      if (childWrappers != null && !childWrappers.isEmpty()) {
                          closeAndRemoveResultSets(true); 
                      }
                      break;
  
                  case Statement.CLOSE_CURRENT_RESULT:
                      // close the current result set. The current result set is always
                      // at the end of the childWrappers list. If childWrappers is empty,
                      // the current result set is childWrapper.
  
                      if (childWrappers == null || childWrappers.isEmpty()) {
  
                          // close and remove the current result.
                          if (childWrapper != null)
                              closeAndRemoveResultSet(true); 
  
                      } else {
  
                          // get the current result from childWrappers and close it
                          ((WSJdbcResultSet) childWrappers.get(childWrappers.size() - 1)).close(true); 
                      }
                      break;
  
                  case Statement.KEEP_CURRENT_RESULT:
                      // do nothing in this case
                      break;
              }
  
              //  - move this call AFTER children are closed, as in WAS 5.1
              hasMoreResults = stmtImpl.getMoreResults(current);
              
              // If there are truly no more ResultSets for this Statement and closeOnCompletion
              // is enabled, close the Statement
              if(deferCloseOnCompletion && !hasMoreResults && (Statement.KEEP_CURRENT_RESULT != current) && mcf.getHelper().getUpdateCount(this) == -1){
                  this.close();
              }
  
          } catch (SQLException ex) {
              FFDCFilter.processException(
                                          ex, "com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.getMoreResults(int)",
                                          "1280", this);
  
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(this, tc, "getMoreResults", "Exception");
              throw WSJdbcUtil.mapException(this, ex);
          } catch (NullPointerException nullX) {
              // No FFDC code needed; we might be closed.
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(this, tc, "getMoreResults", "Exception");
              throw runtimeXIfNotClosed(nullX);
          } finally {
              // Restore initial closeOnCompletion value
              closeOnCompletion = deferCloseOnCompletion;
          }
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(this, tc, "getMoreResults", hasMoreResults ? Boolean.TRUE : Boolean.FALSE);
  
          return hasMoreResults;
      }