LocalChangeListImpl (@NotNull Element listNode, @NotNull Project project) { String id = listNode.getAttributeValue(ATT_ID); String name = StringUtil.notNullize(listNode.getAttributeValue(ATT_NAME), LocalChangeList.getDefaultName()); String comment = StringUtil.notNullize(listNode.getAttributeValue(ATT_COMMENT)); ChangeListData data = ChangeListData.readExternal(listNode); boolean isDefault = ATT_VALUE_TRUE.equals(listNode.getAttributeValue(ATT_DEFAULT)); List<Change> changes = new ArrayList<>(); for (Element changeNode : listNode.getChildren(NODE_CHANGE)) { changes.add(readChange(changeNode, project)); } return new LocalChangeListImpl.Builder(project, name) .setId(id) .setComment(comment) .setChanges(changes) .setData(data) .setDefault(isDefault) .build(); }