code: @DoesServiceRequest
      public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options,
              final OperationContext opContext) throws StorageException {
          return getFirstOrNull(this.retrieveMessages(1, visibilityTimeoutInSeconds, options, opContext));
      }
docs: Retrieves a message from the front of the queue, using the specified request options and operation context. This
  operation marks the retrieved message as invisible in the queue for the specified visibility timeout period.
  
  @param visibilityTimeoutInSeconds
  Specifies the visibility timeout for the message, in seconds.
  
  @param options
  A {@link QueueRequestOptions} object that specifies any additional options for the request. Specifying
  <code>null</code> will use the default request options from the associated service client (
  {@link CloudQueueClient}).
  @param opContext
  An {@link OperationContext} object that represents the context for the current operation. This object
  is used to track requests to the storage service, and to provide additional runtime information about
  the operation.
  
  @return An {@link CloudQueueMessage} object that represents a message in this queue.
  
  @throws StorageException
  If a storage service error occurred during the operation.