microsoft-azure-storage/src/com/microsoft/azure/storage/file/CloudFileClient.java
private ResultSegment<CloudFileShare> listSharesWithPrefixSegmented(final String prefix,
            final EnumSet<ShareListingDetails> detailsIncluded, final Integer maxResults,
            final ResultContinuation continuationToken, FileRequestOptions options, OperationContext opContext)
            throws StorageException {
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = FileRequestOptions.populateAndApplyDefaults(options, this);

        Utility.assertContinuationType(continuationToken, ResultContinuationType.SHARE);

        SegmentedStorageRequest segmentedRequest = new SegmentedStorageRequest();
        segmentedRequest.setToken(continuationToken);

        return ExecutionEngine.executeWithRetry(this, null,
                this.listSharesWithPrefixSegmentedImpl(prefix, detailsIncluded, maxResults, options, segmentedRequest),
                options.getRetryPolicyFactory(), opContext);
    }
private ResultSegment<CloudFileShare> listSharesWithPrefixSegmented(final String prefix,
            final EnumSet<ShareListingDetails> detailsIncluded, final Integer maxResults,
            final ResultContinuation continuationToken, FileRequestOptions options, OperationContext opContext)
            throws StorageException {
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = FileRequestOptions.populateAndApplyDefaults(options, this);

        Utility.assertContinuationType(continuationToken, ResultContinuationType.SHARE);

        SegmentedStorageRequest segmentedRequest = new SegmentedStorageRequest();
        segmentedRequest.setToken(continuationToken);

        return ExecutionEngine.executeWithRetry(this, null,
                this.listSharesWithPrefixSegmentedImpl(prefix, detailsIncluded, maxResults, options, segmentedRequest),
                options.getRetryPolicyFactory(), opContext);
    }
Returns a result segment of an enumerable collection of shares whose names begin with the specified
prefix, using the specified listing details options, request options, and operation context.

@param prefix
A <code>String</code> that represents the prefix of the share name.
@param detailsIncluded
A <code>java.util.EnumSet</code> object that contains {@link ShareListingDetails} values that indicate
whether share snapshots and/or metadata will be returned.
@param maxResults
The maximum number of results to retrieve.  If <code>null</code> or greater
than 5000, the server will return up to 5,000 items.  Must be at least 1.
@param continuationToken
A {@link ResultContinuation} object that represents a continuation token returned
by a previous listing operation.
@param options
A {@link FileRequestOptions} 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 CloudFileClient}).
@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 A {@link ResultSegment} object that contains a segment of the enumerable collection
of {@link CloudFileShare} objects that represent the shares for this client.

@throws StorageException
If a storage service error occurred.