code: public final void clearStatementCache() {
  
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
  
          // The closing of cached statements is now separated from the removing of statements
          // from the cache to avoid synchronization during the closing of statements.
  
          if (statementCache == null) {
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(this, tc, "statement cache is null. caching is disabled"); 
              return;
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(this, tc, "clearStatementCache"); 
  
          Object[] stmts = statementCache.removeAll();
  
          for (int i = stmts.length; i > 0;)
              try {
                  ((Statement) stmts[--i]).close();
              } catch (SQLException closeX) {
                  FFDCFilter.processException(
                                              closeX, getClass().getName() + ".clearStatementCache", "2169", this);
  
                  if (isTraceOn && tc.isDebugEnabled())
                      Tr.debug(this, tc, "Error closing statement", closeX); 
              }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(this, tc, "clearStatementCache"); 
      }
docs: Removes and closes all statements in the statement cache for this ManagedConnection.