microsoft-azure-storage/src/com/microsoft/azure/storage/queue/CloudQueue.java
@DoesServiceRequest
    public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options,
            final OperationContext opContext) throws StorageException {
        return getFirstOrNull(this.retrieveMessages(1, visibilityTimeoutInSeconds, options, opContext));
    }
@DoesServiceRequest
    public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options,
            final OperationContext opContext) throws StorageException {
        return getFirstOrNull(this.retrieveMessages(1, visibilityTimeoutInSeconds, options, opContext));
    }
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.