It looks like I started to refactor out some shared code between the two `GetItem` methods into the private `Get` method and forgot to finish.

I think we could call the `Get` method from both `GetItem` methods and check if `result.Result` is null inside there. That would simplify things a bit.