class DefaultValueGeneratorManager implements ValueGeneratorManager {

	@Override
	public List<ValueGeneratorDto> getAvailableGenerators(Class<? extends AbstractDto> dtoType) {
		return getAllGenerators()
				.values()
				.stream()
				.filter(generator -> {
					return !generator.isDisabled() 
							&& enabledEvaluator.isEnabled(generator)
							&& (dtoType == null || generator.supports(dtoType));
				})
				.map(this::toDto)
				.collect(Collectors.toList());
	}

}