class SimpleWindowsFileSystem extends BaseSimpleFileSystem {

    @Override
    public Iterable<Path> getRootDirectories() {
        return new Iterable<Path>() {
            @Override
            public Iterator<Path> iterator() {
                return new Iterator<Path>() {

                    int i = -1;

                    @Override
                    public boolean hasNext() {
                        return (i + 1) < listRoots().length;
                    }

                    @Override
                    public Path next() {
                        i++;
                        if (i >= listRoots().length) {
                            throw new NoSuchElementException();
                        }

                        return getPath(listRoots()[i].toString());
                    }

                    @Override
                    public void remove() {
                        throw new UnsupportedOperationException();
                    }
                };
            }
        };
    }

      SimpleWindowsFileSystem(final FileSystemProvider provider,
                            final String path);
      SimpleWindowsFileSystem(final File[] roots,
                            final FileSystemProvider provider,
                            final String path);

}