Source:
void initialize(FileSystem fs) throws IOException; void initialize(Configuration conf) throws IOException; void delete(Path path) throws IOException; @VisibleForTesting void forgetMetadata(Path path) throws IOException; void deleteSubtree(Path path) throws IOException; PathMetadata get(Path path) throws IOException; PathMetadata get(Path path, boolean wantEmptyDirectoryFlag) throws IOException; DirListingMetadata listChildren(Path path) throws IOException; @RetryTranslated void addAncestors( Path qualifiedPath, @Nullable BulkOperationState operationState) throws IOException; void move( @Nullable Collection<Path> pathsToDelete, @Nullable Collection<PathMetadata> pathsToCreate, @Nullable BulkOperationState operationState) throws IOException; @RetryTranslated void put(PathMetadata meta) throws IOException; @RetryTranslated void put(PathMetadata meta, @Nullable BulkOperationState BulkOperationState) throws IOException; void put(Collection<PathMetadata> metas, @Nullable BulkOperationState operationState) throws IOException; void put(final DirListingMetadata meta, @Nullable final BulkOperationState operationState) throws IOException; void destroy() throws IOException; void prune(long modTime) throws IOException, UnsupportedOperationException; void prune(long modTime, String keyPrefix) throws IOException, UnsupportedOperationException; Map<String, String> getDiagnostics() throws IOException; void updateParameters(Map<String, String> parameters) throws IOException; RenameTracker initiateRenameOperation( StoreContext storeContext, Path source, S3AFileStatus sourceStatus, Path dest) throws IOException; default BulkOperationState initiateBulkWrite(Path dest) throws IOException { return null; }

Target:
void initialize(FileSystem fs) throws IOException; void initialize(Configuration conf) throws IOException; void delete(Path path) throws IOException; @VisibleForTesting void forgetMetadata(Path path) throws IOException; void deleteSubtree(Path path) throws IOException; PathMetadata get(Path path) throws IOException; PathMetadata get(Path path, boolean wantEmptyDirectoryFlag) throws IOException; DirListingMetadata listChildren(Path path) throws IOException; @RetryTranslated void addAncestors( Path qualifiedPath, @Nullable BulkOperationState operationState) throws IOException; void move( @Nullable Collection<Path> pathsToDelete, @Nullable Collection<PathMetadata> pathsToCreate, @Nullable BulkOperationState operationState) throws IOException; @RetryTranslated void put(PathMetadata meta) throws IOException; @RetryTranslated void put(PathMetadata meta, @Nullable BulkOperationState operationState) throws IOException; void put(Collection<PathMetadata> metas, @Nullable BulkOperationState operationState) throws IOException; void put(final DirListingMetadata meta, @Nullable BulkOperationState operationState) throws IOException; void destroy() throws IOException; void prune(long modTime) throws IOException, UnsupportedOperationException; void prune(long modTime, String keyPrefix) throws IOException, UnsupportedOperationException; Map<String, String> getDiagnostics() throws IOException; void updateParameters(Map<String, String> parameters) throws IOException; RenameTracker initiateRenameOperation( StoreContext storeContext, Path source, S3AFileStatus sourceStatus, Path dest) throws IOException; default BulkOperationState initiateBulkWrite(final BulkOperationState.OperationType operation, Path dest) throws IOException { return null; }