docs: public GenericMetadataSupport resolveGenericReturnType(Method method) {
          Type genericReturnType = method.getGenericReturnType();
          // logger.log("Method '" + method.toGenericString() + "' has return type : " + genericReturnType.getClass().getInterfaces()[0].getSimpleName() + " : " + genericReturnType);
  
          int arity = 0;
          while (genericReturnType instanceof GenericArrayType) {
              arity++;
              genericReturnType = ((GenericArrayType) genericReturnType).getGenericComponentType();
          }
  
          GenericMetadataSupport genericMetadataSupport = resolveGenericType(genericReturnType, method);
          if (arity == 0) {
              return genericMetadataSupport;
          } else {
              return new GenericArrayReturnType(genericMetadataSupport, arity);
          }
      }