@Override
  public void loadState(@NotNull Element element) {
    Element option = element.getChild("option");
    if (option != null && "SKIP_IMPORT_STATEMENTS".equals(option.getAttributeValue("name"))) {
      mySkipImportStatementsWasSpecified = !myProject.isDefault();
      mySkipImportStatements = Boolean.parseBoolean(option.getAttributeValue("value"));
    }

    super.loadState(element);

    final NamedScope[] scopes = getEditableScopes();
    Arrays.sort(scopes, (s1, s2) -> {
      final String name1 = s1.getScopeId();
      final String name2 = s2.getScopeId();
      if (Objects.equals(name1, name2)){
        return 0;
      }
      final List<String> order = myNamedScopeManager.myOrderState.myOrder;
      final int i1 = order.indexOf(name1);
      final int i2 = order.indexOf(name2);
      return i1 - i2;
    });
    super.setScopes(scopes);

    State state = new State();
    final PackageSetFactory packageSetFactory = PackageSetFactory.getInstance();
    for (Element unnamedScope : element.getChildren(UNNAMED_SCOPE)) {
      try {
        final String packageSet = unnamedScope.getAttributeValue(VALUE);
        state.unnamedScopes.put(packageSet, packageSetFactory.compile(packageSet));
      }
      catch (ParsingException ignored) {
        //skip pattern
      }
    }

    readRules(element, state);
    myState = state;
  }
@Override
  public void loadState(@NotNull Element element)