code: @Override
    public JarEntryDirectoryImpl getOrCreateDirectory(String relativeName) {
      IResource resource = _resources.get(relativeName);
      if(resource instanceof IFile){
        throw new UnsupportedOperationException("The requested resource " + relativeName + " is now being accessed as a directory, but was previously accessed as a file.");
      }
      JarEntryDirectoryImpl result = (JarEntryDirectoryImpl) resource;
      if (result == null) {
        result = new JarEntryDirectoryImpl(relativeName, this, this);
        _resources.put(relativeName, result);
        _childDirs.add(result);
      }
      return result;
    }
docs: IJarFileDirectory methods