@Override
  public void readContentEntry(Element root, String contentUrl, JpsModule model) {
    for (Element o : root.getChildren(IdeaXml.TEST_FOLDER_TAG)) {
      final String url = o.getAttributeValue(IdeaXml.URL_ATTR);
      JpsModuleSourceRoot folderToBeTest = null;
      for (JpsModuleSourceRoot folder : model.getSourceRoots()) {
        if (Comparing.strEqual(folder.getUrl(), url)) {
          folderToBeTest = folder;
          break;
        }
      }
      if (folderToBeTest != null) {
        model.removeSourceRoot(folderToBeTest.getUrl(), JavaSourceRootType.SOURCE);
      }
      model.addSourceRoot(url, JavaSourceRootType.TEST_SOURCE);
    }

    for (Element o : root.getChildren(IdeaXml.EXCLUDE_FOLDER_TAG)) {
      final String excludeUrl = o.getAttributeValue(IdeaXml.URL_ATTR);
      if (FileUtil.isAncestor(new File(contentUrl), new File(excludeUrl), false)) {
        model.getExcludeRootsList().addUrl(excludeUrl);
      }
    }

    for (Element ppElement : root.getChildren(IdeaXml.PACKAGE_PREFIX_TAG)) {
      final String prefix = ppElement.getAttributeValue(IdeaXml.PACKAGE_PREFIX_VALUE_ATTR);
      final String url = ppElement.getAttributeValue(IdeaXml.URL_ATTR);
      for (JpsModuleSourceRoot sourceRoot : model.getSourceRoots()) {
        if (Comparing.strEqual(sourceRoot.getUrl(), url)) {
          JpsElement properties = sourceRoot.getProperties();
          if (properties instanceof JavaSourceRootProperties) {
            ((JavaSourceRootProperties)properties).setPackagePrefix(prefix);
          }
          break;
        }
      }
    }
  }
@Override
  public void readContentEntry(Element root, String contentUrl, JpsModule model)