docs: public Type build(Type givenType){
          final ClassType javersType = mapper.getJaversClassType(givenType);
  
          //for Generics, we have list of type arguments to dehydrate
          if (javersType.isGenericType()) {
              List<Type> actualDehydratedTypeArguments = extractAndDehydrateTypeArguments(javersType);
              return new ParametrizedDehydratedType(javersType.getBaseJavaClass(), actualDehydratedTypeArguments);
          }
  
          if (javersType instanceof ArrayType){
              Type dehydratedItemType = build( javersType.getConcreteClassTypeArguments().get(0) );
              if (dehydratedItemType == GlobalId.class){
                  return GLOBAL_ID_ARRAY_TYPE;
              }
              return givenType;
          }
  
          return javersType.getRawDehydratedType();
      }