docs: public AnnotatedType<X> create() {
        Map<Constructor<?>, Map<Integer, AnnotationStore>> constructorParameterAnnnotations = new HashMap<Constructor<?>, Map<Integer, AnnotationStore>>();
        Map<Constructor<?>, AnnotationStore> constructorAnnotations = new HashMap<Constructor<?>, AnnotationStore>();
        Map<Method, Map<Integer, AnnotationStore>> methodParameterAnnnotations = new HashMap<Method, Map<Integer, AnnotationStore>>();
        Map<Method, AnnotationStore> methodAnnotations = new HashMap<Method, AnnotationStore>();
        Map<Field, AnnotationStore> fieldAnnotations = new HashMap<Field, AnnotationStore>();
  
        for (Entry<Field, AnnotationBuilder> field : fields.entrySet()) {
           fieldAnnotations.put(field.getKey(), field.getValue().create());
        }
  
        for (Entry<Method, AnnotationBuilder> method : methods.entrySet()) {
           methodAnnotations.put(method.getKey(), method.getValue().create());
        }
        for (Entry<Method, Map<Integer, AnnotationBuilder>> parameters : methodParameters.entrySet()) {
           Map<Integer, AnnotationStore> parameterAnnotations = new HashMap<Integer, AnnotationStore>();
           methodParameterAnnnotations.put(parameters.getKey(), parameterAnnotations);
           for (Entry<Integer, AnnotationBuilder> parameter : parameters.getValue().entrySet()) {
              parameterAnnotations.put(parameter.getKey(), parameter.getValue().create());
           }
        }
  
        for (Entry<Constructor<?>, AnnotationBuilder> constructor : constructors.entrySet()) {
           constructorAnnotations.put(constructor.getKey(), constructor.getValue().create());
        }
        for (Entry<Constructor<?>, Map<Integer, AnnotationBuilder>> parameters : constructorParameters.entrySet()) {
           Map<Integer, AnnotationStore> parameterAnnotations = new HashMap<Integer, AnnotationStore>();
           constructorParameterAnnnotations.put(parameters.getKey(), parameterAnnotations);
           for (Entry<Integer, AnnotationBuilder> parameter : parameters.getValue().entrySet()) {
              parameterAnnotations.put(parameter.getKey(), parameter.getValue().create());
           }
        }
  
        return new AnnotatedTypeImpl<X>(javaClass, typeAnnotations.create(), fieldAnnotations, methodAnnotations, methodParameterAnnnotations, constructorAnnotations, constructorParameterAnnnotations, fieldTypes, methodParameterTypes, constructorParameterTypes);
     }