code: func (asyncResult *AsyncResult) Touch() ([]reflect.Value, error) {
  	if asyncResult.backend == nil {
  		return nil, ErrBackendNotConfigured
  	}
  
  	asyncResult.GetState()
  
  	// Purge state if we are using AMQP backend
  	if asyncResult.backend.IsAMQP() && asyncResult.taskState.IsCompleted() {
  		asyncResult.backend.PurgeState(asyncResult.taskState.TaskUUID)
  	}
  
  	if asyncResult.taskState.IsFailure() {
  		return nil, errors.New(asyncResult.taskState.Error)
  	}
  
  	if asyncResult.taskState.IsSuccess() {
  		return tasks.ReflectTaskResults(asyncResult.taskState.Results)
  	}
  
  	return nil, nil
  }
docs: // Touch the state and don't wait