code: public InputStream openInputStream(VirtualFile mountPoint, VirtualFile target) throws IOException {
          final ZipNode zipNode = getExistingZipNode(mountPoint, target);
          final File cachedFile = zipNode.cachedFile;
          if (cachedFile != null) {
              return new FileInputStream(cachedFile);
          }
          if (rootNode == zipNode) {
              return new FileInputStream(archiveFile);
          }
          final JarEntry entry = zipNode.entry;
          if (entry == null) {
              throw VFSMessages.MESSAGES.notAFile(target.getPathName());
          }
          return zipFile.getInputStream(entry);
      }
docs: {@inheritDoc}