boolean (@NotNull List<? extends Attribute> l1, @NotNull List<? extends Attribute> l2, boolean ignoreEmptyAttrValues) { if (ignoreEmptyAttrValues) { l1 = getNotEmptyAttributes(l1); l2 = getNotEmptyAttributes(l2); } if (l1.size() != l2.size()) { return false; } for (int i = 0; i < l1.size(); i++) { if (!attributesEqual(l1.get(i), l2.get(i))) { return false; } } return true; }