code: @Override
      public GetActivityTaskResult getActivityTask(GetActivityTaskRequest request) {
          request = beforeClientExecution(request);
          return executeGetActivityTask(request);
      }
docs: <p>
  Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a
  running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds
  as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the
  service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the
  poll returns a <code>taskToken</code> with a null string.
  </p>
  <important>
  <p>
  Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum
  time the service may hold the poll request).
  </p>
  <p>
  Polling with <code>GetActivityTask</code> can cause latency in some implementations. See <a
  href="https://docs.aws.amazon.com/step-functions/latest/dg/bp-activity-pollers.html">Avoid Latency When Polling
  for Activity Tasks</a> in the Step Functions Developer Guide.
  </p>
  </important>
  
  @param getActivityTaskRequest
  @return Result of the GetActivityTask operation returned by the service.
  @throws ActivityDoesNotExistException
  The specified activity does not exist.
  @throws ActivityWorkerLimitExceededException
  The maximum number of workers concurrently polling for activity tasks has been reached.
  @throws InvalidArnException
  The provided Amazon Resource Name (ARN) is invalid.
  @sample AWSStepFunctions.GetActivityTask
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/GetActivityTask" target="_top">AWS API
  Documentation</a>