Virtual folders are folders that do not exist in the file system. They are shown to the user with a unique folder icon.
The method IResource.isLinked returns true for virtual folders, and IResource.getLocation/IResource.getLocationURI always returns null.
Virtual folders can be created by passing the IResource.VIRTUAL flag to the IResource.create method.
By design, virtual folders can only have linked resources or other virtual folders as children.