WorkspaceEntity (@NotNull MutableEntityStorage diff, @NotNull EntitySource source, @NotNull Project project) { WorkspaceEntity existingEntity = getExistingEntity(diff); if (existingEntity != null) return existingEntity; VirtualFileUrlManager fileUrlManager = VirtualFileUrls.getVirtualFileUrlManager(project); Objects.requireNonNull(this.myFilePath, "filePath is not specified"); Objects.requireNonNull(this.myPathInJar, "pathInJar is not specified"); VirtualFileUrl fileUrl = fileUrlManager.fromPath(this.myFilePath); ExtractedDirectoryPackagingElementEntity addedEntity = diff.addEntity(ExtractedDirectoryPackagingElementEntity.create(fileUrl, this.myPathInJar, source)); diff.getMutableExternalMapping("intellij.artifacts.packaging.elements").addMapping(addedEntity, this); return addedEntity; }