docs: @Override
    public void dump(DumperContext dumpContext) throws DumpException {
      ensureInitialized();
      List<String> args = dumpContext.getArgsAsList();
      PrintStream writer = dumpContext.getStdout();
  
      String cmd = args.isEmpty() ? null : args.get(0);
      List<String> rest = args.isEmpty() ? new ArrayList<String>() : args.subList(1, args.size());
  
      if (cmd != null && cmd.equals("memcache")) {
        memcache(writer, rest);
      } else if (cmd != null && cmd.equals("diskcache")) {
        diskcache(mMainFileCache, "Main", writer, rest);
        diskcache(mSmallFileCache, "Small", writer, rest);
      } else {
        usage(writer);
        if (TextUtils.isEmpty(cmd)) {
          throw new DumpUsageException("Missing command");
        } else {
          throw new DumpUsageException("Unknown command: " + cmd);
        }
      }
    }