docs: protected Type getTypeForElement(@Nonnull TypedElement type) {
          Type propertyType;
          final Optional<Class> pt;
          final String typeName = type.getName();
          if (type.isPrimitive()) {
              if (type.isArray()) {
                  pt = ClassUtils.arrayTypeForPrimitive(typeName);
              } else {
                  pt = ClassUtils.getPrimitiveType(typeName);
              }
          } else {
              pt = Optional.empty();
          }
          if (pt.isPresent()) {
              propertyType = getTypeReference(pt.get());
          } else {
              if (type.isArray()) {
                  propertyType = getTypeReference(typeName + "[]");
              } else {
                  propertyType = getTypeReference(typeName);
              }
          }
          return propertyType;
      }