public static Path move( final Path source, final Path target, final CopyOption... options ) throws UnsupportedOperationException, FileAlreadyExistsException, DirectoryNotEmptyException, AtomicMoveNotSupportedException, IOException, SecurityException { checkNotNull( "source", source ); checkNotNull( "target", target ); final FileSystemProvider provider = providerOf( source ); if ( providerOf( target ) == provider ) { provider.move( source, target, options ); return target; } throw new UnsupportedOperationException( "can't move from different providers" ); }