### Question:
DelegatingFileSystemProvider extends FileSystemProvider { @Override public Path readSymbolicLink(final Path link) throws IOException { return delegate.readSymbolicLink(link); } DelegatingFileSystemProvider(final FileSystemProvider delegate); @Override abstract String getScheme(); @Override FileSystem newFileSystem(final URI uri, final Map<String, ?> env); @Override FileSystem getFileSystem(final URI uri); @Override Path getPath(final URI uri); @Override SeekableByteChannel newByteChannel(final Path path,
                                              final Set<? extends OpenOption> options,
                                              final FileAttribute<?>... attrs); @Override DirectoryStream<Path> newDirectoryStream(
        final Path dir,
        final DirectoryStream.Filter<? super Path> filter
    ); @Override void createDirectory(final Path dir, final FileAttribute<?>... attrs); @Override void delete(final Path path); @Override void copy(final Path source, final Path target, final CopyOption... options); @Override FileSystem newFileSystem(final Path path, final Map<String, ?> env); @Override InputStream newInputStream(final Path path, final OpenOption... options); @Override OutputStream newOutputStream(final Path path, final OpenOption... options); @Override FileChannel newFileChannel(final Path path,
                                      final Set<? extends OpenOption> options,
                                      final FileAttribute<?>... attrs); @Override AsynchronousFileChannel newAsynchronousFileChannel(final Path path,
                                                              final Set<? extends OpenOption> options,
                                                              final ExecutorService executor,
                                                              final FileAttribute<?>... attrs); @Override void createSymbolicLink(final Path link,
                                   final Path target,
                                   final FileAttribute<?>... attrs); @Override void createLink(final Path link, final Path existing); @Override boolean deleteIfExists(final Path path); @Override Path readSymbolicLink(final Path link); @Override void move(final Path source, final Path target, final CopyOption... options); @Override boolean isSameFile(final Path path, final Path path2); @Override boolean isHidden(final Path path); @Override FileStore getFileStore(final Path path); @Override void checkAccess(final Path path, final AccessMode... modes); @Override V getFileAttributeView(final Path path,
                                                                final Class<V> type,
                                                                final LinkOption... options); @Override A readAttributes(final Path path,
                                                            final Class<A> type,
                                                            final LinkOption... options); @Override Map<String, Object> readAttributes(final Path path,
                                              final String attributes,
                                              final LinkOption... options); @Override void setAttribute(final Path path,
                             final String attribute,
                             final Object value,
                             final LinkOption... options);  }### Answer:
@Test public void readSymbolicLink() throws IOException { final Path link = mock(Path.class); provider.readSymbolicLink(link); verify(delegate).readSymbolicLink(link); }