// Path: src/main/java/com/sergiandreplace/testabean/generator/GeneratorFactory.java
// public class GeneratorFactory {
//     private final Map<Class, Generator> generators;
// 
//     public GeneratorFactory() {
//         generators = new HashMap<>();
//         add(new StringGenerator());
//         add(new IntGenerator());
//         add(new LongGenerator());
//         add(new BooleanGenerator());
//         add(new FloatGenerator());
//         add(new DoubleGenerator());
//         add(new ShortGenerator());
//         add(new ByteGenerator());
//         add(new DateGenerator());
//         add(new ListGenerator());
//         add(new CharGenerator());
//     }
// 
// 
//     public void add(Generator generator) {
//         TargetClass annotation = generator.getClass().getAnnotation(com.sergiandreplace.testabean.annotation.TargetClass.class);
//         if (annotation == null) {
//             throw new IllegalArgumentException("TargetClass annotation not found");
//         }
// 
//         for (Class clazz : annotation.value()) {
//             generators.put(clazz, generator);
//         }
//     }
// 
//     public Generator get(Class targetClass) {
//         if (targetClass.isArray()) {
//             return new ArrayGenerator(targetClass.getComponentType(), this);
//         }
//         return generators.get(targetClass);
//     }
// 
//     public Map<Class, Generator> getGenerators() {
//         return generators;
//     }
// 
// 
// }


import com.sergiandreplace.testabean.generator.GeneratorFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
        return generatorFactory;
    }

    private void setGeneratorFactory(GeneratorFactory generatorFactory) {
        this.generatorFactory = generatorFactory;
    }

    public int getTestingRepetitions() {
        return testingRepetitions;
    }

    private void setTestingRepetitions(int testingRepetitions) {
        this.testingRepetitions = testingRepetitions;
    }

    public static class Builder {
        private List<String> exceptions;
        private GeneratorFactory generatorFactory;
        private int testingRepetitions=100;

        public Builder setExceptions(List<String> exceptions) {
            this.exceptions = exceptions;
            return this;
        }

        public Builder setExceptions(String... exceptions) {
            this.exceptions = Arrays.asList(exceptions);
            return this;
        }

// Path: src/main/java/com/sergiandreplace/testabean/generator/GeneratorFactory.java
// public class GeneratorFactory {
//     private final Map<Class, Generator> generators;
// 
//     public GeneratorFactory() {
//         generators = new HashMap<>();
//         add(new StringGenerator());
//         add(new IntGenerator());
//         add(new LongGenerator());
//         add(new BooleanGenerator());
//         add(new FloatGenerator());
//         add(new DoubleGenerator());
//         add(new ShortGenerator());
//         add(new ByteGenerator());
//         add(new DateGenerator());
//         add(new ListGenerator());
//         add(new CharGenerator());
//     }
// 
// 
//     public void add(Generator generator) {
//         TargetClass annotation = generator.getClass().getAnnotation(com.sergiandreplace.testabean.annotation.TargetClass.class);
//         if (annotation == null) {
//             throw new IllegalArgumentException("TargetClass annotation not found");
//         }
// 
//         for (Class clazz : annotation.value()) {
//             generators.put(clazz, generator);
//         }
//     }
// 
//     public Generator get(Class targetClass) {
//         if (targetClass.isArray()) {
//             return new ArrayGenerator(targetClass.getComponentType(), this);
//         }
//         return generators.get(targetClass);
//     }
// 
//     public Map<Class, Generator> getGenerators() {
//         return generators;
//     }
// 
// 
// }


// Path: src/main/java/com/sergiandreplace/testabean/Configuration.java
import com.sergiandreplace.testabean.generator.GeneratorFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

        return generatorFactory;
    }

    private void setGeneratorFactory(GeneratorFactory generatorFactory) {
        this.generatorFactory = generatorFactory;
    }

    public int getTestingRepetitions() {
        return testingRepetitions;
    }

    private void setTestingRepetitions(int testingRepetitions) {
        this.testingRepetitions = testingRepetitions;
    }

    public static class Builder {
        private List<String> exceptions;
        private GeneratorFactory generatorFactory;
        private int testingRepetitions=100;

        public Builder setExceptions(List<String> exceptions) {
            this.exceptions = exceptions;
            return this;
        }

        public Builder setExceptions(String... exceptions) {
            this.exceptions = Arrays.asList(exceptions);
            return this;
        }

        public Builder setGeneratorFactory(GeneratorFactory generatorFactory) {