private Response handleInternal(final CacheRpcCommand cmd, final ComponentRegistry cr) throws Throwable {
CommandsFactory commandsFactory = cr.getCommandsFactory();
// initialize this command with components specific to the intended cache instance
commandsFactory.initializeReplicableCommand(cmd, true);
try {
if (trace) log.tracef("Calling perform() on %s", cmd);
ResponseGenerator respGen = cr.getResponseGenerator();
if(cmd instanceof CancellableCommand){
cancelService.register(Thread.currentThread(), ((CancellableCommand)cmd).getUUID());