SimpleFileSystemProvider implements FileSystemProvider { @Override public void createSymbolicLink(final Path link, final Path target, final FileAttribute<?>... attrs) throws UnsupportedOperationException, FileAlreadyExistsException, IOException, SecurityException { checkNotNull("link", link); checkNotNull("target", target); checkCondition("link and target can't be same", !link.equals(target)); checkCondition("target must already exists", target.toFile().exists()); checkFileExistsThenThrow(link); throw new UnsupportedOperationException(); } SimpleFileSystemProvider(); protected  SimpleFileSystemProvider(final File[] roots,
                                       final OSType osType); @Override synchronized void forceAsDefault(); @Override boolean isDefault(); @Override String getScheme(); @Override FileSystem getFileSystem(final URI uri); @Override Path getPath(final URI uri); @Override FileSystem newFileSystem(final URI uri,
                                    final Map<String, ?> env); @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,
                                                              FileAttribute<?>... attrs); @Override SeekableByteChannel newByteChannel(final Path path,
                                              final Set<? extends OpenOption> options,
                                              final FileAttribute<?>... attrs); @Override void createDirectory(final Path dir,
                                final FileAttribute<?>... attrs); @Override DirectoryStream<Path> newDirectoryStream(final Path dir,
                                                    final DirectoryStream.Filter<Path> filter); @Override void createSymbolicLink(final Path link,
                                   final Path target,
                                   final FileAttribute<?>... attrs); @Override void createLink(final Path link,
                           final Path existing); @Override void delete(final Path path,
                       final DeleteOption... options); @Override boolean deleteIfExists(final Path path,
                                  final DeleteOption... options); @Override Path readSymbolicLink(final Path link); @Override boolean isSameFile(final Path path,
                              final Path path2); @Override boolean isHidden(final Path path); @Override void checkAccess(final Path path,
                            AccessMode... modes); @Override FileStore getFileStore(final Path path); @Override V getFileAttributeView(final Path path,
                                                                final Class<V> type,
                                                                final LinkOption... options); @SuppressWarnings("unchecked") @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); @Override void copy(final Path source,
                     final Path target,
                     final CopyOption... options); @Override void move(final Path source,
                     final Path target,
                     final CopyOption... options);  }
@Test(expected = IllegalArgumentException.class) public void createSymbolicLinkNull1() { final SimpleFileSystemProvider fsProvider = new SimpleFileSystemProvider(); fsProvider.createSymbolicLink(null, null); }