CallInterceptor.visitGetKeyValue does that check in order to decide what to pass to the cache entry visitor listeners. Here it's done to decide what to send back to the client after looking up an entry remotely in distribution mode. It's really two different implementations of visitGetKeyValue, I don't see why any should be redundant really.