Hm. I think my naming problem is not here but in other code. This class here is very simple. It's a "Differ" with a "getDiff" that returns a "Diff" object which is basically a collection of DiffOp objects. On the other hand, classes that implement the Differ interface have a "doDiff" that returns an array of DiffOp objects. This can be a bit confusing but I guess both makes sense, depending on the context.