PluginNode (@Nullable String host) { IdeaPluginDescriptor descriptor = getDescriptor(); if (descriptor instanceof PluginNode) { return (PluginNode)descriptor; } PluginNode node = new PluginNode(getId()); node.setName(getPluginName()); node.setProductCode(getProductCode()); node.setReleaseDate(getReleaseDate()); node.setReleaseVersion(getReleaseVersion()); node.setLicenseOptional(isLicenseOptional()); node.setVersion(getPluginVersion()); node.setRepositoryName(host); node.setDownloadUrl(myPluginUrl); node.setDependencies(myDependencies); node.setDescription(myDescription); return node; }