code: public List<Workflow> getWorkflows(String name, String correlationId, boolean includeClosed, boolean includeTasks) {
          Preconditions.checkArgument(StringUtils.isNotBlank(name), "name cannot be blank");
          Preconditions.checkArgument(StringUtils.isNotBlank(correlationId), "correlationId cannot be blank");
  
          WorkflowServicePb.GetWorkflowsResponse workflows = stub.getWorkflows(
                  WorkflowServicePb.GetWorkflowsRequest.newBuilder()
                          .setName(name)
                          .addCorrelationId(correlationId)
                          .setIncludeClosed(includeClosed)
                          .setIncludeTasks(includeTasks)
                          .build()
          );
  
          if (!workflows.containsWorkflowsById(correlationId)) {
              return Collections.emptyList();
          }
  
          return workflows.getWorkflowsByIdOrThrow(correlationId)
                  .getWorkflowsList().stream()
                  .map(protoMapper::fromProto)
                  .collect(Collectors.toList());
      }
docs: Retrieve all workflows for a given correlation id and name
  
  @param name          the name of the workflow
  @param correlationId the correlation id
  @param includeClosed specify if all workflows are to be returned or only running workflows
  @param includeTasks  specify if the tasks in the workflow need to be returned
  @return list of workflows for the given correlation id and name