### Question:
ServiceExecutableResolver extends CompoundExecutableResolverImpl { @Override public Executable resolveExecutable(OperationKey operationKey, ExecutionVenue ev) { if (!(ev instanceof ServiceRegisterableExecutionVenue)) { throw new IllegalStateException("I only support resolution from a service registerable EV"); } ServiceRegisterableExecutionVenue srev = (ServiceRegisterableExecutionVenue) ev; ServiceLogManager manager = srev.getServiceLogManager(operationKey.getNamespace(), operationKey.getServiceName(), operationKey.getVersion()); Executable executable = super.resolveExecutable(operationKey, ev); if (executable != null) { return new RequestContextExecutable(executable, manager, srev.getTracer()); } return null; }  void setEventLogger(EventLogger eventLogger); @Override Executable resolveExecutable(OperationKey operationKey, ExecutionVenue ev);  }### Answer:
@Test public void testResolveExecutable() { Executable executable = mock(Executable.class); when(simpleResolver.resolveExecutable(op1Key, ev)).thenReturn(executable); Executable resultExecutable = serviceResolver.resolveExecutable(op1Key, ev); resultExecutable.execute(context, op1Key, new Object[] {}, mock(ExecutionObserver.class), mock(ExecutionVenue.class), DefaultTimeConstraints.NO_CONSTRAINTS); verify(executable).execute(any(RequestContext.class), eq(op1Key), any(Object[].class), any(ExecutionObserver.class), any(ExecutionVenue.class), eq(DefaultTimeConstraints.NO_CONSTRAINTS)); }