microsoft-azure-storage/src/com/microsoft/azure/storage/file/CloudFileShare.java
@DoesServiceRequest
    public final CloudFileShare createSnapshot(final HashMap<String, String> metadata,
            final AccessCondition accessCondition, FileRequestOptions options, OperationContext opContext)
            throws StorageException {
        assertNoSnapshot();

        if (opContext == null) {
            opContext = new OperationContext();
        }

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

        return ExecutionEngine
                .executeWithRetry(this.fileServiceClient, this,
                        this.createSnapshotImpl(metadata, accessCondition, options), options.getRetryPolicyFactory(),
                        opContext);
    }
@DoesServiceRequest
    public final CloudFileShare createSnapshot(final HashMap<String, String> metadata,
            final AccessCondition accessCondition, FileRequestOptions options, OperationContext opContext)
            throws StorageException {
        assertNoSnapshot();

        if (opContext == null) {
            opContext = new OperationContext();
        }

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

        return ExecutionEngine
                .executeWithRetry(this.fileServiceClient, this,
                        this.createSnapshotImpl(metadata, accessCondition, options), options.getRetryPolicyFactory(),
                        opContext);
    }
Creates a snapshot of the file share using the specified request options and operation context.

@param metadata
A collection of name-value pairs defining the metadata of the snapshot, or null.
@param accessCondition
An {@link AccessCondition} object that represents the access conditions for the file share.
@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 <code>CloudFileShare</code> object that represents the snapshot of the file share.

@throws StorageException
If a storage service error occurred.