docs: @Override
      public Map<Field, GenContainer> scan(final Class t) {
          final Map<Field, GenContainer> populateAnnotationMap = new LinkedHashMap<>();
  
          // Check if class is auto generative
          final boolean isAutoGen = Arrays.stream(t.getDeclaredAnnotations())
                  .anyMatch(a -> a.annotationType().equals(GenAuto.class));
  
          for (final Field field : t.getDeclaredFields()) {
              GenContainer genContainer = findGenAnnotation(field);
  
              // Create auto gen container class is auto generative
              if (genContainer == null && isAutoGen) {
                  Class<? extends IGenerator> generator = getAutoGenerator(field.getType());
                  if (generator.equals(NullGenerator.class)) {
                      // Try to treat field as embedded object, when no suitable generator
                      generator = EmbeddedGenerator.class;
                  }
  
                  genContainer = GenContainer.asAuto(generator, isComplex(field));
              }
  
              if (genContainer != null) {
                  populateAnnotationMap.put(field, genContainer);
              }
          }
  
          return populateAnnotationMap;
      }