OperationHistoryManager { public void recordEnd(String opId, OperationResult result, Throwable cause) { operationStateStore.recordEnd(opId, result, cause); } OperationHistoryManager(
      OperationStateStore operationStateStore, InternalCache cache);  OperationHistoryManager(Duration keepCompleted,
      OperationStateStore operationStateStore,
      InternalCache cache); @SuppressWarnings("unchecked") OperationState<A, V> get(
      String opId); String recordStart(ClusterManagementOperation<?> op, String locator); void recordEnd(String opId, OperationResult result, Throwable cause); List<OperationState<A, V>> list(
      A opType);  }
@Test public void recordEndDelegatesToPersistenceService() { String opId = "opId"; OperationResult result = mock(OperationResult.class); Throwable cause = new Throwable(); history.recordEnd(opId, result, cause); verify(operationStateStore).recordEnd(same(opId), same(result), same(cause)); }