@Override
  public void readExternal(Element element) throws InvalidDataException {
    myGroupPath = new ArrayList<>();
    for (Element o : element.getChildren(PATH)) {
      myGroupPath.add(o.getAttributeValue(VALUE));
    }
    myComponentId = element.getAttributeValue(VALUE);
    myComponentType = element.getAttributeValue(IS_ACTION) != null ? TYPE_ACTION :
                      element.getAttributeValue(SEPARATOR) != null ? TYPE_SEPARATOR :
                      element.getAttributeValue(IS_GROUP) != null ? TYPE_GROUP : TYPE_NONE;
    if (myComponentType == TYPE_GROUP && Boolean.parseBoolean(element.getAttributeValue(FORCE_POPUP))) {
      myComponentType = TYPE_POPUP_GROUP;
    }
    String actionTypeString = element.getAttributeValue(ACTION_TYPE);
    myActionType = actionTypeString == null ? -1 : Integer.parseInt(actionTypeString);
    myAbsolutePosition = Integer.parseInt(element.getAttributeValue(POSITION));
    DefaultJDOMExternalizer.readExternal(this, element);
  }
@Override
  public void readExternal(Element element)