public Task pollTask(String taskType, String workerId, String domain) {
        Preconditions.checkArgument(StringUtils.isNotBlank(taskType), "Task type cannot be blank");
        Preconditions.checkArgument(StringUtils.isNotBlank(domain), "Domain cannot be blank");
        Preconditions.checkArgument(StringUtils.isNotBlank(workerId), "Worker id cannot be blank");

        TaskServicePb.PollResponse response =
                stub.poll(
                        TaskServicePb.PollRequest.newBuilder()
                                .setTaskType(taskType)
                                .setWorkerId(workerId)
                                .setDomain(domain)
                                .build());
        return protoMapper.fromProto(response.getTask());
    }
Perform a poll for a task of a specific task type.

@param taskType The taskType to poll for
@param domain The domain of the task type
@param workerId Name of the client worker. Used for logging.
@return Task waiting to be executed.
grpc-client/src/main/java/com/netflix/conductor/client/grpc/TaskClient.java