@Override
 public List<String> getClasspathFromManifest(
     @NotNull CompositePackagingElement<?> archiveRoot, @NotNull ArtifactType artifactType) {
   final ManifestFileConfiguration manifestFile =
       myArtifactsStructurContext.getManifestFile(archiveRoot, artifactType);
   return manifestFile != null ? manifestFile.getClasspath() : null;
 }
 public boolean isModified() {
   return myManifestFileConfiguration != null
       && (!myManifestFileConfiguration.getClasspath().equals(getConfiguredClasspath())
           || !Comparing.equal(
               myManifestFileConfiguration.getMainClass(), getConfiguredMainClass())
           || !Comparing.equal(
               myManifestFileConfiguration.getManifestFilePath(), getConfiguredManifestPath()));
 }
 @Override
 public void apply() {
   if (myManifestFileConfiguration != null) {
     myManifestFileConfiguration.setMainClass(getConfiguredMainClass());
     myManifestFileConfiguration.setClasspath(getConfiguredClasspath());
     myManifestFileConfiguration.setManifestFilePath(getConfiguredManifestPath());
   }
 }
 private void updateManifest() {
   myManifestFileConfiguration = myContext.getManifestFile(myElement, myContext.getArtifactType());
   final String card;
   if (myManifestFileConfiguration != null) {
     card = "properties";
     myManifestPathField.setText(
         FileUtil.toSystemDependentName(myManifestFileConfiguration.getManifestFilePath()));
     myMainClassField.setText(StringUtil.notNullize(myManifestFileConfiguration.getMainClass()));
     myClasspathField.setText(StringUtil.join(myManifestFileConfiguration.getClasspath(), " "));
   } else {
     card = "buttons";
     myManifestPathField.setText("");
   }
   ((CardLayout) myPropertiesPanel.getLayout()).show(myPropertiesPanel, card);
 }