class SnapshotDirectory {

	public abstract DirectoryStateHandle completeSnapshotAndGetHandle() throws IOException@Nullable
	public abstract DirectoryStateHandle completeSnapshotAndGetHandle() throws IOException;

	public abstract DirectoryStateHandle completeSnapshotAndGetHandle() throws IOExceptionprivate  SnapshotDirectory(@Nonnull Path directory, @Nonnull FileSystem fileSystem);
	public abstract DirectoryStateHandle completeSnapshotAndGetHandle() throws IOExceptionprivate  SnapshotDirectory(@Nonnull Path directory);

}