@Override
public T load(Object aggregateIdentifier, Long expectedVersion) {
T aggregate = load(aggregateIdentifier);
if (expectedVersion != null && aggregate.getVersion() > expectedVersion) {
throw new ConflictingAggregateVersionException(aggregateIdentifier,
expectedVersion,
aggregate.getVersion());
}
return aggregate;
}