private <T extends EntitySqlDao<M, E>, M extends EntityModelDao<E>, E extends Entity> void checkAuditLog(final ChangeType changeType, @Nullable final CallContext context, final AuditLog auditLog, final UUID entityId, Class<T> sqlDao,
boolean useHistory, boolean checkContext) {
Assert.assertEquals(auditLog.getChangeType(), changeType);
if (checkContext) {
Assert.assertEquals(auditLog.getUserName(), context.getUserName());
Assert.assertEquals(auditLog.getComment(), context.getComments());
Assert.assertEquals(auditLog.getUserToken(), context.getUserToken().toString());
}
final M entityModel = extractEntityModelFromEntityWithTargetRecordId(entityId, auditLog.getId(), sqlDao, context, useHistory);
Assert.assertEquals(entityModel.getId(), entityId);
}