code: public List<Flow> getFlowSeries(String cluster, String user, String appId,
        String version, boolean populateTasks, int limit) throws IOException {
      // TODO: use RunMatchFilter to limit scan on the server side
      byte[] rowPrefix = Bytes.toBytes(
          cluster + Constants.SEP + user + Constants.SEP + appId + Constants.SEP);
      Scan scan = createFlowScan(rowPrefix, limit, version);
      return createFromResults(scan, populateTasks, limit);
    }
docs: Returns the most recent {@link Flow} runs, up to {@code limit} instances.
  If the {@code version} parameter is non-null, the returned results will be
  restricted to those matching this app version.
  
  @param cluster the cluster where the jobs were run
  @param user the user running the jobs
  @param appId the application identifier for the jobs
  @param version if non-null, only flows matching this application version
  will be returned
  @param populateTasks if {@code true}, then TaskDetails will be populated
  for each job
  @param limit the maximum number of flows to return
  @return