@Override
  public void loadState(@NotNull Element state) {
    myEclipseUrls.clear();
    myEclipseVariablePaths.clear();
    myUnknownCons.clear();
    mySrcPlace.clear();
    myKnownCons.clear();

    for (Element o : state.getChildren(LIBELEMENT)) {
      myEclipseUrls.add(o.getAttributeValue(VALUE_ATTR));
    }

    for (Element o : state.getChildren(VARELEMENT)) {
      myEclipseVariablePaths.put(o.getAttributeValue(VAR_ATTRIBUTE), o.getAttributeValue(PREFIX_ATTR, "") + o.getAttributeValue(VALUE_ATTR));
    }

    for (Element o : state.getChildren(CONELEMENT)) {
      myUnknownCons.add(o.getAttributeValue(VALUE_ATTR));
    }

    myForceConfigureJDK = Boolean.parseBoolean(state.getAttributeValue(FORCED_JDK, "false"));

    Element srcDescriptionElement = state.getChild(SRC_DESCRIPTION);
    if (srcDescriptionElement != null) {
      myExpectedModuleSourcePlace = Integer.parseInt(srcDescriptionElement.getAttributeValue(EXPECTED_POSITION));
      for (Element o : srcDescriptionElement.getChildren(SRC_FOLDER)) {
        mySrcPlace.put(o.getAttributeValue(VALUE_ATTR), Integer.parseInt(o.getAttributeValue(EXPECTED_POSITION)));
      }
    }
  }
@Override
  public void loadState(@NotNull Element state)