docs: @Internal
      private static void pushAnnotationAttributes(Type declaringType, ClassVisitor declaringClassWriter, GeneratorAdapter generatorAdapter, Map<? extends CharSequence, Object> annotationData, Map<String, GeneratorAdapter> loadTypeMethods) {
          int totalSize = annotationData.size() * 2;
          // start a new array
          pushNewArray(generatorAdapter, Object.class, totalSize);
          int i = 0;
          for (Map.Entry<? extends CharSequence, Object> entry : annotationData.entrySet()) {
              // use the property name as the key
              String memberName = entry.getKey().toString();
              pushStoreStringInArray(generatorAdapter, i++, totalSize, memberName);
              // use the property type as the value
              Object value = entry.getValue();
              pushStoreInArray(generatorAdapter, i++, totalSize, () ->
                      pushValue(declaringType, declaringClassWriter, generatorAdapter, value, loadTypeMethods)
              );
          }
          // invoke the AbstractBeanDefinition.createMap method
          generatorAdapter.invokeStatic(Type.getType(AnnotationUtil.class), METHOD_MAP_OF);
      }