boolean (Element e1, Element e2) { if (e1 == null) { return e2 == null; } if (!Objects.equals(e1.getName(), e2.getName())) { return false; } if (!elementListsEqual(e1.getChildren(), e2.getChildren())) { return false; } if (!attributeListsEqual(e1.getAttributes(), e2.getAttributes())) { return false; } return true; }