@Override
    public <T extends AggregateRoot<?>> Collection<T> loadBy(final Class<T> aggregateRoot,
            final Specification<T> specification) {
        
        @SuppressWarnings("unchecked")
        final DomainRepositoryDriver<T, ?> driver = (DomainRepositoryDriver<T, ?>) drivers.get(aggregateRoot);
        
        return driver.loadBySpecification(specification);
    }