### Question:
StandardRevisableEntityService implements RevisableEntityService { @Override public <T extends RevisableEntity> T get(final Supplier<T> getEntity) { final T entity = getEntity.get(); if (entity != null) { populateRevision(entity); } return entity; } 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 testGetEntityWhenExists() { final RevisableEntity entity = entityService.get(() -> new TestEntity("1", null)); assertNotNull(entity); final RevisionInfo revision = entity.getRevision(); assertNotNull(revision); assertEquals(0, revision.getVersion().longValue()); }
@Test public void testGetEntityWhenDoesNotExist() { final RevisableEntity entity = entityService.get(() -> null); assertNull(entity); }