private static int computeAttributesHashCode(Element e) {
    List<Attribute> attributes = JDOMUtil.getAttributes(e);
    if (attributes instanceof ImmutableSameTypeAttributeList) {
      return attributes.hashCode();
    }
    int result = 1;
    for (Attribute attribute : attributes) {
      result = result * 31 + computeAttributeHashCode(attribute.getName(), attribute.getValue());
    }
    return result;
  }
private static int computeAttributesHashCode(Element e)