public synchronized String getSummary(boolean showDebugInfo) {
    StringBuilder sb = new StringBuilder();
    for (Operation op : ops) {
      if (op != null) {
        if (showDebugInfo) {
          sb.append(op.getDebugInfo());
          sb.append("\n");
        } else {
          op.getSummary(sb);
          sb.append(";");
        }
      }
    }

    sb.append("\n");
    getDurationInfo(sb);

    return sb.toString();
  }
@Test
  public void testGetSummary() throws Exception {
    verifySummary("getPrefetched", "GP");
    verifySummary("getCached", "GC");
    verifySummary("getRead", "GR");
    verifySummary("release", "RL");
    verifySummary("requestPrefetch", "RP");
    verifySummary("prefetch", "PF");
    verifySummary("requestCaching", "RC");
    verifySummary("addToCache", "C+");

    verifySummaryNoArg("cancelPrefetches", "CP");
    verifySummaryNoArg("close", "CX");
  }