code: final void closeChildWrappers() 
      {
          TraceComponent tc = getTracer(); 
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); 
  
          // Close any child wrappers in the child wrapper list.
  
          if (childWrappers != null && !childWrappers.isEmpty()) {
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(this, tc, "Closing child wrappers"); 
              WSJdbcObject wrapper = null;
  
              // Children remove themselves from the childWrappers list as they are closed.
              for (int i = childWrappers.size(); i > 0;)
                  try {
                      wrapper = (WSJdbcObject) childWrappers.get(--i);
                      wrapper.close();
                  } catch (SQLException closeX) // can't fail here, need to keep closing
                  {
                      FFDCFilter.processException(closeX,
                                                  "com.ibm.ws.rsadapter.jdbc.WSJdbcObject.closeChildWrappers", "554", this);
                  } catch (IndexOutOfBoundsException ioobX) 
                  {
                      if (isTraceOn && tc.isDebugEnabled()) 
                      {
                          Tr.debug(this, tc, "ArrayIndexOutOfBoundsException is caught during closeChildWrappers() of the WSJdbcObject");
                          Tr.debug(this, tc, "Possible causes:");
                          Tr.debug(this, tc, "multithreaded access of JDBC objects by the Application");
                          Tr.debug(this, tc, "Application is closing JDBC objects in a finalize()");
                          Tr.debug(this, tc, "Exception is: ", ioobX);
                      }
                      throw ioobX;
                  }
  
          }
  
          // Close this object's single child wrapper, if one exists.
  
          if (childWrapper != null)
              try {
                  if (isTraceOn && tc.isDebugEnabled())
                      Tr.debug(this, tc, "Closing child wrapper"); 
                  childWrapper.close();
              } catch (SQLException closeX) {
                  FFDCFilter.processException(closeX,
                                              "com.ibm.ws.rsadapter.jdbc.WSJdbcObject.closeChildWrappers", "573", this);
              }
      }
docs: Close all child objects of this wrapper. Errors that occur while closing child objects
  should not be thrown. Errors may be logged instead.