code: @DoesServiceRequest
      public Iterable<CloudQueueMessage> peekMessages(final int numberOfMessages, QueueRequestOptions options,
              OperationContext opContext) throws StorageException {
          Utility.assertInBounds("numberOfMessages", numberOfMessages, 1, QueueConstants.MAX_NUMBER_OF_MESSAGES_TO_PEEK);
  
          if (opContext == null) {
              opContext = new OperationContext();
          }
  
          opContext.initialize();
          options = QueueRequestOptions.populateAndApplyDefaults(options, this.queueServiceClient);
  
          return ExecutionEngine.executeWithRetry(this.queueServiceClient, this,
                  this.peekMessagesImpl(numberOfMessages, options), options.getRetryPolicyFactory(), opContext);
      }
docs: Peeks a set of messages from the queue, using the specified request options and operation context. A peek request
  retrieves messages from the front of the queue without changing their visibility.
  
  @param numberOfMessages
  The number of messages to retrieve.
  
  @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 enumerable collection of {@link CloudQueueMessage} objects that represents the requested messages from
  the queue.
  
  @throws StorageException
  If a storage service error occurred during the operation.