return patches;
}
private static Vector<Patch> doDiff(Vector<Object> path, VNode a, VNode b) {
Objects.requireNonNull(a, "First node must not be null");
Objects.requireNonNull(b, "Second node must not be null");
<BUG>if (a.getNodeClass() != b.getNodeClass()) {
return Vector.of(new ReplacePatch(path, b));
}</BUG>
return diffAttributes(path, a, b)
.appendAll(diffChildren(path, a, b))

return patches;
}
private static Vector<Patch> doDiff(Vector<Object> path, VNode a, VNode b) {
Objects.requireNonNull(a, "First node must not be null");
Objects.requireNonNull(b, "Second node must not be null");
return diffAttributes(path, a, b)
.appendAll(diffChildren(path, a, b))
