@Nullable
  public String getBundleIdentifier() {
    NodeList dictList = getDocument().getElementsByTagName("dict");
    for (int i = 0; i < dictList.getLength(); i ++) {
      Node dictNode = dictList.item(i);
      NodeList dataList = dictNode.getChildNodes();
      for (int j = 0; j < dataList.getLength(); j ++) {
        Node dataNode = dataList.item(j);
        if (BUNDLE_IDENTIFIER.equals(dataNode.getTextContent())) {
          Node nextNode = dataNode.getNextSibling();
          while (nextNode != null) {
            if (nextNode.getNodeType() == Node.ELEMENT_NODE) {
              break;
            }
            nextNode = nextNode.getNextSibling();
          }
          String value = nextNode != null ? StringUtil.trim(nextNode.getTextContent()) : null;
          if (!StringUtil.isEmpty(value)) return value;
        }
      }
    }
    return null;
  }
@Nullable
  public String getBundleIdentifier()