OperationState implements Identifiable<String> { public Date getOperationEnd() { return this.operationEnd; } OperationState(String opId, A operation, Date operationStart); String getLocator(); void setLocator(
      String locator); @Override boolean equals(Object o); @Override int hashCode(); @Override String getId(); A getOperation(); Date getOperationStart(); void setOperationEnd(Date operationEnd, V result, Throwable exception); Date getOperationEnd(); V getResult(); Throwable getThrowable();  }
@Test public void getOperationEnd() { Date end = new Date(); OperationState<?, ?> operationState = new OperationState<>(null, null, null); assertThat(operationState.getOperationEnd()).isNull(); operationState.setOperationEnd(end, null, null); assertThat(operationState.getOperationEnd()).isSameAs(end); }