@Override
protected ComponentCustomizerEngine doNewComponent(SatisfiedBOM satisfiedBOM) {
return new SingleComponentClassCustomizerEngine<UUIDGenerator>(0, UUIDGenerator.class) {
@Override
public NamedComponent<UUIDGenerator> customize(final NamedComponent<UUIDGenerator> namedComponent) {
return new NamedComponent<>(namedComponent.getName(), new UUIDGenerator() {
@Override
public String doGenerate() {
String uuid = namedComponent.getComponent().doGenerate();
tape.recordGeneratedId(uuid);
return uuid;