class SimpleWindowsFileSystem extends BaseSimpleFileSystem {

    @Override
    public Iterable<FileStore> getFileStores() {
        return new Iterable<FileStore>() {
            @Override
            public Iterator<FileStore> iterator() {
                return new Iterator<FileStore>() {
                    int i = -1;

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

                    @Override
                    public FileStore next() {
                        i++;
                        if (i >= listRoots().length) {
                            throw new NoSuchElementException();
                        }
                        return new SimpleWindowsFileStore(listRoots(),
                                                          SimpleWindowsFileSystem.this,
                                                          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);

}