code: @Override
    public List<Integer> getRunningFlows(final int projectId, final String flowId) {
      final List<Integer> executionIds = new ArrayList<>();
      executionIds.addAll(getRunningFlowsHelper(projectId, flowId,
          this.queuedFlows.getAllEntries()));
      // it's possible an execution is runningCandidate, meaning it's in dispatching state neither in queuedFlows nor runningFlows,
      // so checks the runningCandidate as well.
      if (this.runningCandidate != null) {
        executionIds
            .addAll(
                getRunningFlowsHelper(projectId, flowId, Lists.newArrayList(this.runningCandidate)));
      }
      executionIds.addAll(getRunningFlowsHelper(projectId, flowId,
          this.runningExecutions.get().values()));
      Collections.sort(executionIds);
      return executionIds;
    }
docs: Gets a list of all the active (running flows and non-dispatched flows) executions for a given
  project and flow {@inheritDoc}. Results should be sorted as we assume this while setting up
  pipelined execution Id.
  
  @see azkaban.executor.ExecutorManagerAdapter#getRunningFlows(int, java.lang.String)