### Question:
StandardRevisableEntityService implements RevisableEntityService { @Override public <T extends RevisableEntity> T update(final T requestEntity, final String updaterIdentity, final Supplier<T> updateEntity) { return createOrUpdate(requestEntity, updaterIdentity, updateEntity); } StandardRevisableEntityService(final RevisionManager revisionManager); @Override T create(final T requestEntity, final String creatorIdentity, final Supplier<T> createEntity); @Override T get(final Supplier<T> getEntity); @Override List<T> getEntities(final Supplier<List<T>> getEntities); @Override T update(final T requestEntity, final String updaterIdentity, final Supplier<T> updateEntity); @Override T delete(final String entityIdentifier, final RevisionInfo revisionInfo, final Supplier<T> deleteEntity); @Override void populateRevisions(final Collection<?> entities);  }### Answer:
@Test public void testUpdate() { final RevisionInfo revisionInfo = new RevisionInfo(null, 0L); final TestEntity requestEntity = new TestEntity("1", revisionInfo); final RevisableEntity createdEntity = entityService.create( requestEntity, "user1", () -> requestEntity); assertNotNull(createdEntity); assertEquals(requestEntity.getIdentifier(), createdEntity.getIdentifier()); assertNotNull(createdEntity.getRevision()); assertEquals(1, createdEntity.getRevision().getVersion().longValue()); final RevisableEntity updatedEntity = entityService.update( createdEntity, "user2", () -> createdEntity); assertNotNull(updatedEntity.getRevision()); assertEquals(2, updatedEntity.getRevision().getVersion().longValue()); assertEquals("user2", updatedEntity.getRevision().getLastModifier()); }