code: TypeIdentifier analyze(final String rootType) {
          final String type = ResponseTypeNormalizer.normalizeResponseWrapper(rootType);
          final TypeIdentifier identifier = TypeIdentifier.ofType(type);
  
          if (!analyzedTypes.contains(type) && (isAssignableTo(type, COLLECTION) || !isJDKType(type))) {
              analyzedTypes.add(type);
              typeRepresentations.put(identifier, analyzeInternal(identifier, type));
          }
  
          return identifier;
      }
docs: TODO consider arrays