class LocalFile extends ProtocolFile {

    public static AbstractFile[] getVolumes() {
        Vector<AbstractFile> volumesV = new Vector<AbstractFile>();

        // Add Mac OS X's /Volumes subfolders and not file roots ('/') since Volumes already contains a named link
        // (like 'Hard drive' or whatever silly name the user gave his primary hard disk) to /
        if(OsFamily.MAC_OS_X.isCurrent()) {
            addMacOSXVolumes(volumesV);
        }
        else {
            // Add java.io.File's root folders
            addJavaIoFileRoots(volumesV);

            // Add /proc/mounts folders under UNIX-based systems.
            if(OsFamily.getCurrent().isUnixBased())
                addMountEntries(volumesV);
        }

        // Add home folder, if it is not already present in the list
        AbstractFile homeFolder = getUserHome();
        if(!(homeFolder==null || volumesV.contains(homeFolder)))
            volumesV.add(homeFolder);

        AbstractFile volumes[] = new AbstractFile[volumesV.size()];
        volumesV.toArray(volumes);

        return volumes;
    }

    protected  LocalFile(FileURL fileURL);
    protected  LocalFile(FileURL fileURL, File file);

}