From d21c44e8692880beaa3789dfb8042c186db923d1 Mon Sep 17 00:00:00 2001
From: Bruno Coelho <4brunu@gmail.com>
Date: Thu, 9 Dec 2021 14:04:46 +0000
Subject: [PATCH 1/2] [kotlin][client] remove old Date usage

---
 .../kotlin-spring-boot-modelMutable.yaml      |   0
 .../{other => }/kotlin-vertx-vertx.yaml       |   0
 .../kotlin-jvm-retrofit2-coroutines.yaml      |   0
 .../kotlin-jvm-retrofit2-rx.yaml              |   0
 ...m-retrofit2-rx2-kotlinx_serialization.yaml |   0
 .../kotlin-jvm-retrofit2-rx2.yaml             |   0
 .../{openapi3 => }/kotlin-multiplatform.yaml  |   0
 .../kotlin-spring-boot-reactive.yaml          |   0
 .../{openapi3 => }/kotlin-spring-boot.yaml    |   0
 bin/configs/other/{openapi3 => }/kotlin.yaml  |   0
 .../languages/KotlinClientCodegen.java        |   3 -
 .../infrastructure/DateAdapter.kt.mustache    |  67 ---
 .../infrastructure/Serializer.kt.mustache     |   2 -
 .../infrastructure/ApiClient.kt.mustache      |   3 +-
 .../.openapi-generator/FILES                  |   1 +
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../kotlin-gson/.openapi-generator/FILES      |   2 +-
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  33 --
 .../client/infrastructure/DateAdapter.kt      |  37 --
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  35 --
 .../infrastructure/LocalDateTimeAdapter.kt    |  35 --
 .../infrastructure/OffsetDateTimeAdapter.kt   |  35 --
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  23 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/DateAdapter.kt      |  37 --
 .../kotlin-jackson/.openapi-generator/FILES   |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |   3 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  18 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../kotlin-petstore-jackson.kotlin_module     | Bin 134 -> 0 bytes
 .../main/org/openapitools/ApplicationKt.class | Bin 3936 -> 0 bytes
 .../client/apis/PetApi$WhenMappings.class     | Bin 1458 -> 0 bytes
 .../org/openapitools/client/apis/PetApi.class | Bin 82237 -> 0 bytes
 .../client/apis/StoreApi$WhenMappings.class   | Bin 1040 -> 0 bytes
 .../openapitools/client/apis/StoreApi.class   | Bin 42521 -> 0 bytes
 .../client/apis/UserApi$WhenMappings.class    | Bin 1459 -> 0 bytes
 .../openapitools/client/apis/UserApi.class    | Bin 79974 -> 0 bytes
 ...tionsKt$defaultMultiValueConverter$1.class | Bin 1439 -> 0 bytes
 .../infrastructure/ApiAbstractionsKt.class    | Bin 5327 -> 0 bytes
 .../ApiClient$Companion$client$2.class        | Bin 1445 -> 0 bytes
 .../infrastructure/ApiClient$Companion.class  | Bin 4330 -> 0 bytes
 .../ApiClient$WhenMappings.class              | Bin 768 -> 0 bytes
 .../client/infrastructure/ApiClient.class     | Bin 31155 -> 0 bytes
 .../ApiInfrastructureResponse.class           | Bin 1608 -> 0 bytes
 .../ApplicationDelegates$SetOnce.class        | Bin 3186 -> 0 bytes
 .../infrastructure/ApplicationDelegates.class | Bin 1711 -> 0 bytes
 .../client/infrastructure/ClientError.class   | Bin 2831 -> 0 bytes
 .../ClientException$Companion.class           | Bin 945 -> 0 bytes
 .../infrastructure/ClientException.class      | Bin 1622 -> 0 bytes
 .../client/infrastructure/Informational.class | Bin 2740 -> 0 bytes
 .../client/infrastructure/Redirection.class   | Bin 2479 -> 0 bytes
 .../client/infrastructure/RequestConfig.class | Bin 5445 -> 0 bytes
 .../client/infrastructure/RequestMethod.class | Bin 1652 -> 0 bytes
 .../infrastructure/ResponseExtensionsKt.class | Bin 1499 -> 0 bytes
 .../client/infrastructure/ResponseType.class  | Bin 1580 -> 0 bytes
 .../client/infrastructure/Serializer.class    | Bin 2066 -> 0 bytes
 .../client/infrastructure/ServerError.class   | Bin 2858 -> 0 bytes
 .../ServerException$Companion.class           | Bin 945 -> 0 bytes
 .../infrastructure/ServerException.class      | Bin 1622 -> 0 bytes
 .../client/infrastructure/Success.class       | Bin 2686 -> 0 bytes
 .../client/models/ApiResponse.class           | Bin 3611 -> 0 bytes
 .../openapitools/client/models/Category.class | Bin 3046 -> 0 bytes
 .../client/models/Order$Status.class          | Bin 2115 -> 0 bytes
 .../openapitools/client/models/Order.class    | Bin 5914 -> 0 bytes
 .../client/models/Pet$Status.class            | Bin 2093 -> 0 bytes
 .../org/openapitools/client/models/Pet.class  | Bin 6141 -> 0 bytes
 .../org/openapitools/client/models/Tag.class  | Bin 3011 -> 0 bytes
 .../org/openapitools/client/models/User.class | Bin 6313 -> 0 bytes
 .../kotlin/compileKotlin/build-history.bin    | Bin 31 -> 0 bytes
 .../caches-jvm/inputs/source-to-output.tab    | Bin 4096 -> 0 bytes
 .../inputs/source-to-output.tab.keystream     | Bin 4096 -> 0 bytes
 .../inputs/source-to-output.tab.keystream.len | Bin 8 -> 0 bytes
 .../inputs/source-to-output.tab.len           | Bin 8 -> 0 bytes
 .../inputs/source-to-output.tab.values.at     | Bin 11858 -> 0 bytes
 .../caches-jvm/inputs/source-to-output.tab_i  | Bin 32768 -> 0 bytes
 .../inputs/source-to-output.tab_i.len         | Bin 8 -> 0 bytes
 .../jvm/kotlin/class-fq-name-to-source.tab    | Bin 4096 -> 0 bytes
 .../class-fq-name-to-source.tab.keystream     | Bin 4096 -> 0 bytes
 .../class-fq-name-to-source.tab.keystream.len | Bin 8 -> 0 bytes
 .../kotlin/class-fq-name-to-source.tab.len    | Bin 8 -> 0 bytes
 .../class-fq-name-to-source.tab.values.at     | Bin 5659 -> 0 bytes
 .../jvm/kotlin/class-fq-name-to-source.tab_i  | Bin 32768 -> 0 bytes
 .../kotlin/class-fq-name-to-source.tab_i.len  | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/constants.tab       | Bin 4096 -> 0 bytes
 .../jvm/kotlin/constants.tab.keystream        | Bin 4096 -> 0 bytes
 .../jvm/kotlin/constants.tab.keystream.len    | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/constants.tab.len   | Bin 8 -> 0 bytes
 .../jvm/kotlin/constants.tab.values.at        | Bin 529 -> 0 bytes
 .../caches-jvm/jvm/kotlin/constants.tab_i     | Bin 32768 -> 0 bytes
 .../caches-jvm/jvm/kotlin/constants.tab_i.len | Bin 8 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab           | Bin 4096 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab.keystream | Bin 4096 -> 0 bytes
 .../kotlin/inline-functions.tab.keystream.len | Bin 8 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab.len       | Bin 8 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab.values.at | Bin 670 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab_i         | Bin 32768 -> 0 bytes
 .../jvm/kotlin/inline-functions.tab_i.len     | Bin 8 -> 0 bytes
 .../jvm/kotlin/internal-name-to-source.tab    | Bin 4096 -> 0 bytes
 .../internal-name-to-source.tab.keystream     | Bin 4096 -> 0 bytes
 .../internal-name-to-source.tab.keystream.len | Bin 8 -> 0 bytes
 .../kotlin/internal-name-to-source.tab.len    | Bin 8 -> 0 bytes
 .../internal-name-to-source.tab.values.at     | Bin 7371 -> 0 bytes
 .../jvm/kotlin/internal-name-to-source.tab_i  | Bin 32768 -> 0 bytes
 .../kotlin/internal-name-to-source.tab_i.len  | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/package-parts.tab   | Bin 4096 -> 0 bytes
 .../jvm/kotlin/package-parts.tab.keystream    | Bin 4096 -> 0 bytes
 .../kotlin/package-parts.tab.keystream.len    | Bin 8 -> 0 bytes
 .../jvm/kotlin/package-parts.tab.len          | Bin 8 -> 0 bytes
 .../jvm/kotlin/package-parts.tab.values.at    | Bin 58 -> 0 bytes
 .../caches-jvm/jvm/kotlin/package-parts.tab_i | Bin 32768 -> 0 bytes
 .../jvm/kotlin/package-parts.tab_i.len        | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab           | Bin 4096 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab.keystream | Bin 4096 -> 0 bytes
 .../jvm/kotlin/proto.tab.keystream.len        | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab.len       | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab.values.at | Bin 18862 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab_i         | Bin 32768 -> 0 bytes
 .../caches-jvm/jvm/kotlin/proto.tab_i.len     | Bin 8 -> 0 bytes
 .../jvm/kotlin/source-to-classes.tab          | Bin 4096 -> 0 bytes
 .../kotlin/source-to-classes.tab.keystream    | Bin 4096 -> 0 bytes
 .../source-to-classes.tab.keystream.len       | Bin 8 -> 0 bytes
 .../jvm/kotlin/source-to-classes.tab.len      | Bin 8 -> 0 bytes
 .../kotlin/source-to-classes.tab.values.at    | Bin 2331 -> 0 bytes
 .../jvm/kotlin/source-to-classes.tab_i        | Bin 32768 -> 0 bytes
 .../jvm/kotlin/source-to-classes.tab_i.len    | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/subtypes.tab        | Bin 4096 -> 0 bytes
 .../jvm/kotlin/subtypes.tab.keystream         | Bin 4096 -> 0 bytes
 .../jvm/kotlin/subtypes.tab.keystream.len     | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/subtypes.tab.len    | Bin 8 -> 0 bytes
 .../jvm/kotlin/subtypes.tab.values.at         | Bin 793 -> 0 bytes
 .../caches-jvm/jvm/kotlin/subtypes.tab_i      | Bin 32768 -> 0 bytes
 .../caches-jvm/jvm/kotlin/subtypes.tab_i.len  | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/supertypes.tab      | Bin 4096 -> 0 bytes
 .../jvm/kotlin/supertypes.tab.keystream       | Bin 4096 -> 0 bytes
 .../jvm/kotlin/supertypes.tab.keystream.len   | Bin 8 -> 0 bytes
 .../caches-jvm/jvm/kotlin/supertypes.tab.len  | Bin 8 -> 0 bytes
 .../jvm/kotlin/supertypes.tab.values.at       | Bin 689 -> 0 bytes
 .../caches-jvm/jvm/kotlin/supertypes.tab_i    | Bin 32768 -> 0 bytes
 .../jvm/kotlin/supertypes.tab_i.len           | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/counters.tab           |   2 -
 .../caches-jvm/lookups/file-to-id.tab         | Bin 4096 -> 0 bytes
 .../lookups/file-to-id.tab.keystream          | Bin 4096 -> 0 bytes
 .../lookups/file-to-id.tab.keystream.len      | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/file-to-id.tab.len     | Bin 8 -> 0 bytes
 .../lookups/file-to-id.tab.values.at          | Bin 163 -> 0 bytes
 .../caches-jvm/lookups/file-to-id.tab_i       | Bin 32768 -> 0 bytes
 .../caches-jvm/lookups/file-to-id.tab_i.len   | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/id-to-file.tab         | Bin 4096 -> 0 bytes
 .../lookups/id-to-file.tab.keystream          | Bin 4096 -> 0 bytes
 .../lookups/id-to-file.tab.keystream.len      | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/id-to-file.tab.len     | Bin 8 -> 0 bytes
 .../lookups/id-to-file.tab.values.at          | Bin 3654 -> 0 bytes
 .../caches-jvm/lookups/id-to-file.tab_i       | Bin 32768 -> 0 bytes
 .../caches-jvm/lookups/id-to-file.tab_i.len   | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab            | Bin 16384 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab.keystream  | Bin 12288 -> 0 bytes
 .../lookups/lookups.tab.keystream.len         | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab.len        | Bin 8 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab.values.at  | Bin 12507 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab_i          | Bin 32768 -> 0 bytes
 .../caches-jvm/lookups/lookups.tab_i.len      | Bin 8 -> 0 bytes
 .../build/kotlin/compileKotlin/last-build.bin | Bin 81 -> 0 bytes
 .../org/openapitools/client/Application.kt    |  20 -
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 494 ------------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 245 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   2 +-
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  33 --
 .../client/infrastructure/DateAdapter.kt      |  37 --
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  35 --
 .../infrastructure/LocalDateTimeAdapter.kt    |  35 --
 .../infrastructure/OffsetDateTimeAdapter.kt   |  35 --
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  23 -
 .../openapitools/client/models/ApiResponse.kt |  38 --
 .../openapitools/client/models/Category.kt    |  35 --
 .../org/openapitools/client/models/Order.kt   |  58 --
 .../org/openapitools/client/models/Pet.kt     |  60 ---
 .../org/openapitools/client/models/Tag.kt     |  35 --
 .../org/openapitools/client/models/User.kt    |  54 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/DateAdapter.kt      |  37 --
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  19 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  33 --
 .../openapitools/client/models/Category.kt    |  30 --
 .../org/openapitools/client/models/Order.kt   |  55 --
 .../org/openapitools/client/models/Pet.kt     |  57 --
 .../org/openapitools/client/models/Tag.kt     |  30 --
 .../org/openapitools/client/models/User.kt    |  49 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   5 +
 .../kotlin-nonpublic/.openapi-generator/FILES |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../kotlin-nullable/.openapi-generator/FILES  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  38 --
 .../openapitools/client/models/Category.kt    |  35 --
 .../org/openapitools/client/models/Order.kt   |  58 --
 .../org/openapitools/client/models/Pet.kt     |  60 ---
 .../org/openapitools/client/models/Tag.kt     |  35 --
 .../org/openapitools/client/models/User.kt    |  54 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../kotlin-okhttp3/.openapi-generator/FILES   |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 249 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   2 +-
 .../client/infrastructure/DateAdapter.kt      |  28 -
 .../client/infrastructure/Serializer.kt       |   2 -
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 125 -----
 .../org/openapitools/client/apis/StoreApi.kt  |  63 ---
 .../org/openapitools/client/apis/UserApi.kt   | 114 ----
 .../openapitools/client/auth/ApiKeyAuth.kt    |  50 --
 .../org/openapitools/client/auth/OAuth.kt     | 151 ------
 .../org/openapitools/client/auth/OAuthFlow.kt |   5 -
 .../client/auth/OAuthOkHttpClient.kt          |  61 ---
 .../client/infrastructure/ApiClient.kt        | 203 -------
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../infrastructure/CollectionFormats.kt       |  56 --
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/ResponseExt.kt      |  16 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../kotlin-retrofit2/.openapi-generator/FILES |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 124 -----
 .../org/openapitools/client/apis/StoreApi.kt  |  62 ---
 .../org/openapitools/client/apis/UserApi.kt   | 113 ----
 .../openapitools/client/auth/ApiKeyAuth.kt    |  50 --
 .../org/openapitools/client/auth/OAuth.kt     | 151 ------
 .../org/openapitools/client/auth/OAuthFlow.kt |   5 -
 .../client/auth/OAuthOkHttpClient.kt          |  61 ---
 .../client/infrastructure/ApiClient.kt        | 200 -------
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../infrastructure/CollectionFormats.kt       |  56 --
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/ResponseExt.kt      |  16 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../kotlin-string/.openapi-generator/FILES    |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  38 --
 .../openapitools/client/models/Category.kt    |  35 --
 .../org/openapitools/client/models/Order.kt   |  58 --
 .../org/openapitools/client/models/Pet.kt     |  60 ---
 .../org/openapitools/client/models/Tag.kt     |  35 --
 .../org/openapitools/client/models/User.kt    |  54 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  32 --
 .../openapitools/client/models/Category.kt    |  29 -
 .../org/openapitools/client/models/Order.kt   |  54 --
 .../org/openapitools/client/models/Pet.kt     |  56 --
 .../org/openapitools/client/models/Tag.kt     |  29 -
 .../org/openapitools/client/models/User.kt    |  48 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/client/apis/EnumApi.kt   |  89 ----
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 232 --------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../org/openapitools/client/models/PetEnum.kt |  43 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../petstore/kotlin/.openapi-generator/FILES  |   1 +
 .../org/openapitools/client/apis/PetApi.kt    | 492 -----------------
 .../org/openapitools/client/apis/StoreApi.kt  | 253 ---------
 .../org/openapitools/client/apis/UserApi.kt   | 476 -----------------
 .../client/infrastructure/ApiAbstractions.kt  |  23 -
 .../client/infrastructure/ApiClient.kt        | 251 ---------
 .../ApiInfrastructureResponse.kt              |  43 --
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../client/infrastructure/ByteArrayAdapter.kt |  12 -
 .../client/infrastructure/Errors.kt           |  18 -
 .../client/infrastructure/LocalDateAdapter.kt |  19 -
 .../infrastructure/LocalDateTimeAdapter.kt    |  19 -
 .../infrastructure/OffsetDateTimeAdapter.kt   |  19 -
 .../client/infrastructure/RequestConfig.kt    |  17 -
 .../client/infrastructure/RequestMethod.kt    |   8 -
 .../infrastructure/ResponseExtensions.kt      |  24 -
 .../client/infrastructure/Serializer.kt       |  21 -
 .../client/infrastructure/UUIDAdapter.kt      |  13 -
 .../openapitools/client/models/ApiResponse.kt |  38 --
 .../openapitools/client/models/Category.kt    |  35 --
 .../org/openapitools/client/models/Order.kt   |  58 --
 .../org/openapitools/client/models/Pet.kt     |  60 ---
 .../org/openapitools/client/models/Tag.kt     |  35 --
 .../org/openapitools/client/models/User.kt    |  54 --
 .../client/infrastructure/ApiClient.kt        |   3 +-
 .../infrastructure/ApplicationDelegates.kt    |  29 -
 .../ktor/.openapi-generator-ignore            |  22 +-
 .../ktor/.openapi-generator/FILES             |   1 +
 .../.openapi-generator/FILES                  |   1 +
 .../org/openapitools/model/InlineObject.kt    |  30 --
 .../org/openapitools/model/InlineObject1.kt   |  31 --
 .../.openapi-generator/FILES                  |  10 +-
 .../.openapi-generator/VERSION                |   2 +-
 .../build.gradle.kts                          |   8 +-
 .../settings.gradle                           |  26 +-
 .../api/{PetApi.kt => PetApiController.kt}    |  24 +-
 .../org/openapitools/api/PetApiService.kt     |  88 +++-
 .../{StoreApi.kt => StoreApiController.kt}    |  12 +-
 .../org/openapitools/api/StoreApiService.kt   |  43 +-
 .../api/{UserApi.kt => UserApiController.kt}  |  24 +-
 .../org/openapitools/api/UserApiService.kt    |  82 ++-
 .../kotlin/org/openapitools/api/PetApiTest.kt | 156 +++---
 .../org/openapitools/api/StoreApiTest.kt      |  70 ++-
 .../org/openapitools/api/UserApiTest.kt       | 146 +++---
 .../.openapi-generator/FILES                  |   4 +
 .../kotlin/org/openapitools/api/PetApiTest.kt | 156 +++---
 .../org/openapitools/api/StoreApiTest.kt      |  70 ++-
 .../org/openapitools/api/UserApiTest.kt       | 146 +++---
 .../.openapi-generator/FILES                  |   4 +
 .../kotlin/org/openapitools/api/PetApiTest.kt | 156 +++---
 .../org/openapitools/api/StoreApiTest.kt      |  70 ++-
 .../org/openapitools/api/UserApiTest.kt       | 146 +++---
 .../kotlin/vertx/.openapi-generator/FILES     |   1 +
 .../kotlin/vertx/.openapi-generator/VERSION   |   2 +-
 samples/server/petstore/kotlin/vertx/pom.xml  |   6 +-
 .../openapitools/server/api/model/Order.kt    |   2 +-
 533 files changed, 819 insertions(+), 26414 deletions(-)
 rename bin/configs/{other => }/kotlin-spring-boot-modelMutable.yaml (100%)
 rename bin/configs/{other => }/kotlin-vertx-vertx.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-jvm-retrofit2-coroutines.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-jvm-retrofit2-rx.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-jvm-retrofit2-rx2-kotlinx_serialization.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-jvm-retrofit2-rx2.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-multiplatform.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-spring-boot-reactive.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin-spring-boot.yaml (100%)
 rename bin/configs/other/{openapi3 => }/kotlin.yaml (100%)
 delete mode 100644 modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/DateAdapter.kt.mustache
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/META-INF/kotlin-petstore-jackson.kotlin_module
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/ApplicationKt.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi$WhenMappings.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi$WhenMappings.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi$WhenMappings.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt$defaultMultiValueConverter$1.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion$client$2.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$WhenMappings.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates$SetOnce.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientError.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException$Companion.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Informational.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Redirection.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestConfig.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestMethod.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseExtensionsKt.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseType.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Serializer.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerError.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException$Companion.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Success.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/ApiResponse.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Category.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order$Status.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet$Status.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Tag.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/User.class
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/build-history.bin
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len
 delete mode 100644 samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/last-build.bin
 delete mode 100644 samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/Application.kt
 delete mode 100644 samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuth.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthFlow.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuth.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthFlow.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/apis/EnumApi.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/models/PetEnum.kt
 delete mode 100644 samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/PetApi.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/StoreApi.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/UserApi.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Errors.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Serializer.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/ApiResponse.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Category.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Order.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Pet.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Tag.kt
 delete mode 100644 samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/User.kt
 delete mode 100644 samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
 delete mode 100644 samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject.kt
 delete mode 100644 samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject1.kt
 rename samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/{PetApi.kt => PetApiController.kt} (95%)
 rename samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/{StoreApi.kt => StoreApiController.kt} (94%)
 rename samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/{UserApi.kt => UserApiController.kt} (92%)

diff --git a/bin/configs/other/kotlin-spring-boot-modelMutable.yaml b/bin/configs/kotlin-spring-boot-modelMutable.yaml
similarity index 100%
rename from bin/configs/other/kotlin-spring-boot-modelMutable.yaml
rename to bin/configs/kotlin-spring-boot-modelMutable.yaml
diff --git a/bin/configs/other/kotlin-vertx-vertx.yaml b/bin/configs/kotlin-vertx-vertx.yaml
similarity index 100%
rename from bin/configs/other/kotlin-vertx-vertx.yaml
rename to bin/configs/kotlin-vertx-vertx.yaml
diff --git a/bin/configs/other/openapi3/kotlin-jvm-retrofit2-coroutines.yaml b/bin/configs/other/kotlin-jvm-retrofit2-coroutines.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-jvm-retrofit2-coroutines.yaml
rename to bin/configs/other/kotlin-jvm-retrofit2-coroutines.yaml
diff --git a/bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx.yaml b/bin/configs/other/kotlin-jvm-retrofit2-rx.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx.yaml
rename to bin/configs/other/kotlin-jvm-retrofit2-rx.yaml
diff --git a/bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx2-kotlinx_serialization.yaml b/bin/configs/other/kotlin-jvm-retrofit2-rx2-kotlinx_serialization.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx2-kotlinx_serialization.yaml
rename to bin/configs/other/kotlin-jvm-retrofit2-rx2-kotlinx_serialization.yaml
diff --git a/bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx2.yaml b/bin/configs/other/kotlin-jvm-retrofit2-rx2.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-jvm-retrofit2-rx2.yaml
rename to bin/configs/other/kotlin-jvm-retrofit2-rx2.yaml
diff --git a/bin/configs/other/openapi3/kotlin-multiplatform.yaml b/bin/configs/other/kotlin-multiplatform.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-multiplatform.yaml
rename to bin/configs/other/kotlin-multiplatform.yaml
diff --git a/bin/configs/other/openapi3/kotlin-spring-boot-reactive.yaml b/bin/configs/other/kotlin-spring-boot-reactive.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-spring-boot-reactive.yaml
rename to bin/configs/other/kotlin-spring-boot-reactive.yaml
diff --git a/bin/configs/other/openapi3/kotlin-spring-boot.yaml b/bin/configs/other/kotlin-spring-boot.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin-spring-boot.yaml
rename to bin/configs/other/kotlin-spring-boot.yaml
diff --git a/bin/configs/other/openapi3/kotlin.yaml b/bin/configs/other/kotlin.yaml
similarity index 100%
rename from bin/configs/other/openapi3/kotlin.yaml
rename to bin/configs/other/kotlin.yaml
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
index 28a3853332d..2f7fa402fd6 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java
@@ -479,14 +479,12 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
                 break;
 
             case gson:
-                supportingFiles.add(new SupportingFile("jvm-common/infrastructure/DateAdapter.kt.mustache", infrastructureFolder, "DateAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateAdapter.kt.mustache", infrastructureFolder, "LocalDateAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateTimeAdapter.kt.mustache", infrastructureFolder, "LocalDateTimeAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/OffsetDateTimeAdapter.kt.mustache", infrastructureFolder, "OffsetDateTimeAdapter.kt"));
                 break;
 
             case jackson:
-                //supportingFiles.add(new SupportingFile("jvm-common/infrastructure/DateAdapter.kt.mustache", infrastructureFolder, "DateAdapter.kt"));
                 break;
 
             case kotlinx_serialization:
@@ -497,7 +495,6 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/URLAdapter.kt.mustache", infrastructureFolder, "URLAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/BigIntegerAdapter.kt.mustache", infrastructureFolder, "BigIntegerAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/BigDecimalAdapter.kt.mustache", infrastructureFolder, "BigDecimalAdapter.kt"));
-                supportingFiles.add(new SupportingFile("jvm-common/infrastructure/DateAdapter.kt.mustache", infrastructureFolder, "DateAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateAdapter.kt.mustache", infrastructureFolder, "LocalDateAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/LocalDateTimeAdapter.kt.mustache", infrastructureFolder, "LocalDateTimeAdapter.kt"));
                 supportingFiles.add(new SupportingFile("jvm-common/infrastructure/OffsetDateTimeAdapter.kt.mustache", infrastructureFolder, "OffsetDateTimeAdapter.kt"));
diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/DateAdapter.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/DateAdapter.kt.mustache
deleted file mode 100644
index 8756321c4e0..00000000000
--- a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/DateAdapter.kt.mustache
+++ /dev/null
@@ -1,67 +0,0 @@
-package {{packageName}}.infrastructure
-
-{{#kotlinx_serialization}}
-import kotlinx.serialization.KSerializer
-import kotlinx.serialization.Serializer
-import kotlinx.serialization.encoding.Decoder
-import kotlinx.serialization.encoding.Encoder
-import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
-import kotlinx.serialization.descriptors.PrimitiveKind
-import kotlinx.serialization.descriptors.SerialDescriptor
-{{/kotlinx_serialization}}
-{{#gson}}
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-{{/gson}}
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-{{#gson}}
-
-{{#nonPublicApi}}internal {{/nonPublicApi}}class DateAdapter(val formatter: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())) : TypeAdapter<Date>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: Date?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): Date? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return formatter.parse(out.nextString())
-            }
-        }
-    }
-}
-{{/gson}}
-{{#kotlinx_serialization}}
-
-@Serializer(forClass = Date::class)
-object DateAdapter : KSerializer<Date> {
-    private val df: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())
-
-    override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("Date", PrimitiveKind.STRING)
-
-    override fun serialize(encoder: Encoder, value: Date) {
-        encoder.encodeString(df.format(value))
-    }
-
-    override fun deserialize(decoder: Decoder): Date {
-        return df.parse(decoder.decodeString())!!
-    }
-}
-{{/kotlinx_serialization}}
\ No newline at end of file
diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache
index ca5d3288a20..e3e570e7a0c 100644
--- a/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache
+++ b/modules/openapi-generator/src/main/resources/kotlin-client/jvm-common/infrastructure/Serializer.kt.mustache
@@ -28,7 +28,6 @@ import com.fasterxml.jackson.annotation.JsonInclude
 import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
 {{/jackson}}
 {{#kotlinx_serialization}}
-import java.util.Date
 import java.math.BigDecimal
 import java.math.BigInteger
 {{^threetenbp}}
@@ -97,7 +96,6 @@ import java.util.concurrent.atomic.AtomicLong
     val kotlinSerializationAdapters = SerializersModule {
         contextual(BigDecimal::class, BigDecimalAdapter)
         contextual(BigInteger::class, BigIntegerAdapter)
-        contextual(Date::class, DateAdapter)
         contextual(LocalDate::class, LocalDateAdapter)
         contextual(LocalDateTime::class, LocalDateTimeAdapter)
         contextual(OffsetDateTime::class, OffsetDateTimeAdapter)
diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache
index 57bd33d35bf..06afc10d2b6 100644
--- a/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache
+++ b/modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-okhttp/infrastructure/ApiClient.kt.mustache
@@ -47,7 +47,6 @@ import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
 {{/threetenbp}}
-import java.util.Date
 import java.util.Locale
 {{#useCoroutines}}
 import kotlin.coroutines.resume
@@ -421,7 +420,7 @@ import com.squareup.moshi.adapter
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
index bb98f9a0031..dd448f00b9d 100644
--- a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/DefaultApi.md
diff --git a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 634abe57b90..fe329374e47 100644
--- a/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-enum-default-value/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -229,7 +228,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-gson/.openapi-generator/FILES b/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
index 1f38d3fbe2d..49c37f92d4b 100644
--- a/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
@@ -21,7 +22,6 @@ src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
-src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index bcbb1cf8627..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.gson.toJson(content, T::class.java).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.gson.fromJson(bodyContent, T::class.java)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.gson.toJson(value, T::class.java).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index 6120b081929..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-
-class ByteArrayAdapter : TypeAdapter<ByteArray>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: ByteArray?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(String(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): ByteArray? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return out.nextString().toByteArray()
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
deleted file mode 100644
index c5d330ac075..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-
-class DateAdapter(val formatter: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())) : TypeAdapter<Date>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: Date?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): Date? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return formatter.parse(out.nextString())
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index 30ef6697183..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE) : TypeAdapter<LocalDate>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: LocalDate?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): LocalDate? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return LocalDate.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index 3ad781c66ca..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME) : TypeAdapter<LocalDateTime>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: LocalDateTime?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): LocalDateTime? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return LocalDateTime.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index e615135c9cc..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME) : TypeAdapter<OffsetDateTime>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: OffsetDateTime?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): OffsetDateTime? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return OffsetDateTime.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index b80e0390de2..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.Gson
-import com.google.gson.GsonBuilder
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.OffsetDateTime
-import java.util.UUID
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val gsonBuilder: GsonBuilder = GsonBuilder()
-        .registerTypeAdapter(OffsetDateTime::class.java, OffsetDateTimeAdapter())
-        .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
-        .registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
-        .registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
-    
-    @JvmStatic
-    val gson: Gson by lazy {
-        gsonBuilder.create()
-    }
-}
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index 54df813fcee..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @SerializedName("code")
-    val code: kotlin.Int? = null,
-    @SerializedName("type")
-    val type: kotlin.String? = null,
-    @SerializedName("message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index fdefa74fda0..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index 049c89df313..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("petId")
-    val petId: kotlin.Long? = null,
-    @SerializedName("quantity")
-    val quantity: kotlin.Int? = null,
-    @SerializedName("shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @SerializedName("status")
-    val status: Order.Status? = null,
-    @SerializedName("complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @SerializedName(value = "placed") placed("placed"),
-        @SerializedName(value = "approved") approved("approved"),
-        @SerializedName(value = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index af29ef2b61b..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @SerializedName("name")
-    val name: kotlin.String,
-    @SerializedName("photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("category")
-    val category: Category? = null,
-    @SerializedName("tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @SerializedName("status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @SerializedName(value = "available") available("available"),
-        @SerializedName(value = "pending") pending("pending"),
-        @SerializedName(value = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 28e82b1df68..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 62baf33e927..00000000000
--- a/samples/client/petstore/kotlin-gson/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("username")
-    val username: kotlin.String? = null,
-    @SerializedName("firstName")
-    val firstName: kotlin.String? = null,
-    @SerializedName("lastName")
-    val lastName: kotlin.String? = null,
-    @SerializedName("email")
-    val email: kotlin.String? = null,
-    @SerializedName("password")
-    val password: kotlin.String? = null,
-    @SerializedName("phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @SerializedName("userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 7a1fafd594e..d016f77b970 100644
--- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.google.gson.reflect.TypeToken
 
@@ -247,7 +246,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt b/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
deleted file mode 100644
index c5d330ac075..00000000000
--- a/samples/client/petstore/kotlin-gson/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-
-class DateAdapter(val formatter: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())) : TypeAdapter<Date>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: Date?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): Date? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return formatter.parse(out.nextString())
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES b/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
index 816d952128d..cc7d4565863 100644
--- a/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 637ca64c247..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.jacksonObjectMapper.writeValueAsString(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.jacksonObjectMapper.readValue(bodyContent, T::class.java)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.jacksonObjectMapper.writeValueAsString(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index fff39c7ac24..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.openapitools.client.infrastructure
-
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 8b34e629c4e..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.fasterxml.jackson.databind.ObjectMapper
-import com.fasterxml.jackson.databind.SerializationFeature
-import com.fasterxml.jackson.datatype.jdk8.Jdk8Module
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
-import com.fasterxml.jackson.annotation.JsonInclude
-import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val jacksonObjectMapper: ObjectMapper = jacksonObjectMapper()
-        .registerModule(Jdk8Module())
-        .registerModule(JavaTimeModule())
-        .setSerializationInclusion(JsonInclude.Include.NON_ABSENT)
-        .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
-}
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index c341f8ca321..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @field:JsonProperty("code")
-    val code: kotlin.Int? = null,
-    @field:JsonProperty("type")
-    val type: kotlin.String? = null,
-    @field:JsonProperty("message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index 2ed5390c1f3..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @field:JsonProperty("id")
-    val id: kotlin.Long? = null,
-    @field:JsonProperty("name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index c7df5b55614..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @field:JsonProperty("id")
-    val id: kotlin.Long? = null,
-    @field:JsonProperty("petId")
-    val petId: kotlin.Long? = null,
-    @field:JsonProperty("quantity")
-    val quantity: kotlin.Int? = null,
-    @field:JsonProperty("shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @field:JsonProperty("status")
-    val status: Order.Status? = null,
-    @field:JsonProperty("complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: PLACED,APPROVED,DELIVERED
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @JsonProperty(value = "placed") PLACED("placed"),
-        @JsonProperty(value = "approved") APPROVED("approved"),
-        @JsonProperty(value = "delivered") DELIVERED("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index be5b168e2d8..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @field:JsonProperty("name")
-    val name: kotlin.String,
-    @field:JsonProperty("photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @field:JsonProperty("id")
-    val id: kotlin.Long? = null,
-    @field:JsonProperty("category")
-    val category: Category? = null,
-    @field:JsonProperty("tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @field:JsonProperty("status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: AVAILABLE,PENDING,SOLD
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @JsonProperty(value = "available") AVAILABLE("available"),
-        @JsonProperty(value = "pending") PENDING("pending"),
-        @JsonProperty(value = "sold") SOLD("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 7243f42ed7d..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @field:JsonProperty("id")
-    val id: kotlin.Long? = null,
-    @field:JsonProperty("name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index e8f639e5092..00000000000
--- a/samples/client/petstore/kotlin-jackson/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.fasterxml.jackson.annotation.JsonProperty
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @field:JsonProperty("id")
-    val id: kotlin.Long? = null,
-    @field:JsonProperty("username")
-    val username: kotlin.String? = null,
-    @field:JsonProperty("firstName")
-    val firstName: kotlin.String? = null,
-    @field:JsonProperty("lastName")
-    val lastName: kotlin.String? = null,
-    @field:JsonProperty("email")
-    val email: kotlin.String? = null,
-    @field:JsonProperty("password")
-    val password: kotlin.String? = null,
-    @field:JsonProperty("phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @field:JsonProperty("userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/META-INF/kotlin-petstore-jackson.kotlin_module b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/META-INF/kotlin-petstore-jackson.kotlin_module
deleted file mode 100644
index 38c4425da8d5a75423570d04d4b47c016fb8370b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 134
zcmZQzU|?ooU|@t|0WL)@f&8L$z5IgIyu^aclKlLfVj*6~f`XjP<iwK9{5<axu0Sp|
zbR~MpIhm<>C3=~8X+?>}B}JvlC8b5FLV}J3nT|<7equ66Z?SiYkVsH!aRHE->RM5f
JnpX@F1pvVZD~A98

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/ApplicationKt.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/ApplicationKt.class
deleted file mode 100644
index d44eb27f99ac8a125e94cd99b920c3a280cbdb98..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3936
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
IyZFO@0D2Hju>b%7

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi$WhenMappings.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi$WhenMappings.class
deleted file mode 100644
index 9251a566438420e501ebd3b79975c4d828e8061e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1458
zcmbV~+fLg+5QhIvfCMmYXz3w6AJPInnKQJ|1EpL<0#QLlFSs(v0*1u4Y$sJ8tFBa4
zRmB7Jp{oA&G8d8D8>G?Bx8r=9S$qEc{dEdp1|Jlr{P58B1MNA18~c7MvKuW|d$G-Z
zWPjB0YT(vBA8BvX2?EzUj7m@nm1C#t*e%C9w72$;bt5jJs4!Mr_d4yJFK*m8I{SHT
zN};e<&wn<ZU!KV?&*qos^2_u2<%Rt6qC$Cv7x&!wjY4r^a#vyYe{aV14nil2!%ida
zgxcQLQQ&)#{`57_B~%m!x=yR3BZZ}j$-RwpoU&};5-ty66k`_pF))Y%t}2vvI*o>o
zc<}r=PrZ)nAWyx)v;45>dQL05Y~8{w+)n@Rj>1UYJMhD{6T3d2TexSO`wGL`y6J}e
z*nDE)p{dtcU&|(DJq-QO!edh(XMIP9T^*j)Cr$l{g_60^GYe%yFDwiinzArtXvV^@
zp*ahdp#=*ghL#jYH%|PRU(DXrvD0*7XPJ}M?iM-NDqZ*?3j5g>>6YWEP89mq{H9i@
zZg;%cZR=e(a`#($)${x~yKz*R=F9G*P_9(dch7^WX~$V+zgcFtS!S<UW~W(ZpIK&?
zX&aR?F5n^*-UEe^tPK>@Ph2_uJ@g&dk~D7qz}>#B3?C5t4L%|c7@Q!M3_c~6x5R&*
zfFV9ne4_Y7@rk{@oq!=eQGBBKMDdBe{&WI{_(buE;uFOu_WH947~&JfCyGxLpV;fq
zCt!$A6rU(QQG8;rznFj_K2dz4_(buEz5dGt4DpHL6U8TrPc;5Fjs}MVYh1^fUvV&&
U_fV{3C5zX1BfGbCyu&J&e|BPM-v9sr

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/PetApi.class
deleted file mode 100644
index c6d591f86366919c06af52f045a62cfb816c5d88..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 82237
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%0A^svVZbp*uQuM!qx0EeiHkfpUS@AXR$B&d3e5@
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
Xb3B{l`5beOA9K8z<K-N$=J@#^TVD+X

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi$WhenMappings.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi$WhenMappings.class
deleted file mode 100644
index 586f194f4dc0edb00ef9193d0055b200609f10ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1040
zcmbV~+invv5Qcv@X-?h17Rn)<4}m6}wn->dDnhENUPNjYDM95TSDTHSx=rkr*9qdW
z2ogdF^#OP&#O!W;Q7PP18rk2B{g20E|M~mt3_ufG3{9m+o(j42Lt&H}M_w=%TpEx3
z$m<!U`A#URpO3jb@WW8ZQIrQ`a8LZ1?~Q#q@;ZYP9+*5b3~SXrIi2*r2ooHiZ?A4J
zEcM%q*BXn%&BfssL*WCJCx!XQkg3%V8Cw6VU&tfvM@CNrGu7Pd@+ed?;-9{TJP(H<
zH}l6+9x-gy>izvoWZ8Cb1y@Tb!*#HXToFsS#*pt#gMderc=M83*KngqS#MG<rH4ZL
z<K(h!2e(m)&%47=Zp$O3C%zGi)*akSHTM}-x_l@!JqWEhc$mf?QG7Rf*FCM3cJL&P
zKc#q&>lxSQ@n>oLxr2Oqqnd+4N-rD~Q+ma)x__z+y@YqbjX(5_zfG?^nPuo(v3PLF
z9V9Mdm%au&WytQTA!n#`r_zWCKNOJ|jQNg~$|N_5+y*r<OM<LhiF-<kDsd&rOm!qP
zRS_TK7Er<p7~YXnPL83E`4g*Wzf0e7eIDDbAGn+CB=~@EImO3>xfH8}`4ra)3mvPk
z&p~GOgjP>z^@LVWcv1gy4l=7Jw0c6TC$xIPi~84dkXb#U)e~Ahq16+n`ft=4>IdG_
axK8sMYK+%Mrj3on8faRt)y7+F((n(lApm&*

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/StoreApi.class
deleted file mode 100644
index 3240ab8d74c1ebbf3bb557f2407ad758d1922756..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 42521
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

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi$WhenMappings.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi$WhenMappings.class
deleted file mode 100644
index 2a3170461c2fea1aea6bc83150f91ee5384f6289..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1459
zcmbV~+fEZv6o&uZ0xd9TQ9RW1p$d2!%2`1Wk&7k}5>UM0YG^kw(9TR|rZqm6V`7Xk
zJb({n{5zX<(PX?KS=sB`Yx?c3J+uD&{dERl8Xpv@et2a2f%crhjeWlv+4ZKYz1ZeH
zvOh&STnpUF=VR?{IYHohM^OPvp>*PO9J}dwNA~u?iLS>5<Q2v$8(zD$`^Amx$LBw<
zOey5{YuV4L+2!f%@=SJlHoH8RU7pV_FDMk3d2`Q=R}}ISlY0s?|9dsAcNjWR9JcFm
zJJj}$jso9{^vAD(E}*0^&~ch=9VskMOzv-9;FKi`S8#O*qZqT$kAXqta9yFW+pgDj
z#DnK9c<N1*2YKo(p5=!P*K?ZbWos7h;BNQ-?kSAayhA^1IkD^WxrGPDd8jbFqZ@9>
zkIg3*9-DfF_4RaQHp0*kEj%^#an^Tr*wNv6ebUsQStytry|7R;^vc4Zp(zVPhNdkH
z8=AFX8Jf2+VrWrebo11Y`Nixl9Xkytc9uA4txlekt-1?8MD8HnqPyjIs#Ar&b-$q%
z$~$c@c3XPSjogE#Uh_OZPH!BQs(jgf6pE#C_uccLa<}6&v)?qc+cdM+G_%t*v(GfM
z%WfN`A}--F6y5{5k+cou)K6SH`#tm>H<E7L{(<{_+bKRG_8WXc956UREEs%FEN+Yc
zG66$;qWDDdiQ*G`eLDd|e4_Y7@rmLSd;MwxhWJGBiQ*H*C-(X?2^iuN#V3kS6rb4Z
z&m~}pPZXahK2dyPufLFhAwE%jqWDDdiM{^o1Pt+s;uFOuicd8DH;x8}1M6JJncr|Q
VmiCdaVL6SrSdrao4ezkV<sTSyX;uIL

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/apis/UserApi.class
deleted file mode 100644
index a77b699e57ba002b2dd41b610759352a201f46d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 79974
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%0D=2$%cNb
zB^zFfK7~!noTFle!Rb*;HuPI9*)S;s5AA8m2JP86Bbn0xju|9r(3zfO!%xO@=^NPO
z(l@Y|)RGN9X^vTRd@!dJN*V}gSW7namV~{N7y=y?kR*m+lEjZpk~pSG5|1%S9QRF<
zBpX4}93!yL5kK(C=Hin>C#h+YY-pB?ZGze}8x;uNPh$3hWIQ)vqr}PA6d=h)kPP7F
zgWmmIoWgaInkLDHW+~vE)Sk!2NV4H4>EvN@LGdO@l8qo~7#28EoU0e$_~sX&(HZuL
z!>3MC(<Ir@O9tEk?fFR@_537eHAn`zB-t>zbb$AhajsQ_<B6Y((FI8Zftn`ChF(r2
z*YFaMYG~RgnTAQ2ZxYbEPtjVQVd#v$FZ?71Xh;CU3_pouuE98oGJ>Spl7Mg8-hF(>
z87+1e(`6&Y5VbHPse!4<(aaVLk6?0&_@(|U7K{9+k||=bC`GO~<_KIqA(n`xN3gCn
z{JR?dYK@pv!)~f!`_?dA5ragh8vcEaz!eoY)d*1|!ZjkbMx@n<AvGemM&#Fs18c;z
I8d3KD0i+$$YybcN

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt$defaultMultiValueConverter$1.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt$defaultMultiValueConverter$1.class
deleted file mode 100644
index 3569514091d209a6a9d538cf42ec024555ae5e91..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1439
zcmb_bTTc@~6#iy=r4*=m1r#r!a#0rW2DXwkjmE}OjcASGY1$4ru$>{hvrT;CxA+S*
zCSo)(#7BRW@yxa;3Tk3ZcF*<8IcLu0%hwN|0L<eK!&B|AyLw9~z9o&;Uf?!7DU@-g
zTJw2e{IFp{U%16BS*(-F8%AmsJTT);vBpEsEYmM*+zUlXtG4is@W<y;U<~!jrZ%2b
z?nb*s;mD!5=T>;D-sJiHzO_(wqPq9G(p;gk!Q0&RxLS7~);C1M<o8)tj4#!Cekso|
z{QDd!#2H5S`47pHLXsgVRa<WghD#Isl62Ef9yI+O*ex)NG%^`D=w%qI*iLT<Q}?-4
zfy<TBhDXhGtJ+jU&!gvz{|QA9UiSpSazDD$NtMC?L#l1Z@Ng}QBQ|XggA8%=LIw=a
zqPYKk&QwZV8qs1HJgiO0f>hEhF~lY&YXqGrPu8+Hh2abm7-2}4t1C~6)zV!O3$%9~
z@R7aUSQdsix#5(>X|-dtvdoeksr5*ORbvcnlT6JyhMC>%{><)n#>sUV$-CRR-R)s#
zmd&Sg&T#w`n~mMie14U5(zG5<bDp8Mz?D`nTRIG=Rxm95>rtd|#lCOI&U_||GdSKu
z(k!*-m;0I7G}MohZqn8bRHPEsuvHiS6FXnqOx@sKjr-E-UE|2(P#M`0W!08}Bzy74
z2GQdD>V3q0-V$_lKf$tPrG#Jdcn}C$i-EhU;pu>miF*A)HyL_X<htVa<QXz6I`kXj
zp0qU$braMMB*!ehF+pvktH+RiG)*O*E7J1!kmVX_gM@I1C#R<0A^Vyn(2mk^&;+f2
zk#N?Zn0}9=*6rXr(IlCHKHMOBq65IOC_F*Qa+3TvySP5$x9CsNI-s8f*g=rIm*0j;
zPQ`a{`c33bWAwZKWE33e{Rrpz4&1kx>wpqiAaI7l*z#=1MWS(BC3>5FhaQlR_&f^4
tON2a2wVhi<tc>%~cL8I2+ISfkamkX)t6%{pFu96EfT;k}0Zv3T{SAy&Z*Bkp

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiAbstractionsKt.class
deleted file mode 100644
index 157ae0f97df153e5df29a5ca302483526b8912a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5327
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
ZazU|i*v0(NM!!24uyMp4yx~57^j{<}b%_7~

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion$client$2.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion$client$2.class
deleted file mode 100644
index 7a133a481ecb15660e2bec46813887fda2538f8c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1445
zcmbtUT~8B16g{)0A1qZ0A_Ag<R0UMF0)EkomIh*zS`#58#;0k!l%d<1W_PxUZ~PX2
zfgcGbni%4vKgxKgEl46fsLgio+<VWQJ9FpE{`mRj8-PU=7z)a-JF4YM-V$0VFL0`!
zaHV#H-0^v!{jjP--*xgWQRpPn1=VbEDU?iik?F-a7{gYnp|mHYv)69YWbOKrdrpZr
zD>a@yncE3vRnzpq+31Zjxsqz^YTa6LUN)YS?N-XJW*H{VW{snd;p&O}Da>)i7-B-U
zRl{W%nVl=`@iuonF6++A%AQ-*RAY?7r!F9g1Z*1?1{h{arc-;auJ~Ng;<=Pc^X^8<
zN|!^=BdW~bwlj|N4E@JFWuRXC^ND1WNMWcSgBWI5`FEZ;Mi}h6tJgx|)m)!p>Wmhp
zdkCsLic2;wVvJ$(v}PV5<CtKGRt#|xlcv3wafP8z?}~t7{XceptVcSBSWZZxR~aI+
zbKAr|Tb$cYVj43xqDV6&isj9%e7Uer!yM_j3m!Vs=?ho$8rPhdtY$kxmxY;Eirh-a
zg>fSctU;mLJ=*i(e!@Q7x2-XYOzLod!pgAc_V;%&D`6STBEvwAOC{enRT$99M$gjR
zG_D)X-B02sruu30kRf?|{}vjW_ES(b((_<RNVgm|E3UuAD;`CLORCDfZSD)>_kx#S
zg;I;ATa;}P2#V)_YnP~tQo4S@<3Zrk2@I~ws;2@W>(qo@RU>t7in`?HD?p;yRH0vW
zH-srR-s9c=gB2NCb`%WsX~4MI2eqp&m8bjEPmvY!u8?J9qw@zyzNZ00mfo>WkW_50
z9+4R6at~^M#DxQlAK<FNTPN_-$WbKOnQP-(r`(es+c~nJqrXmB!!}GaP2t#l<TGx3
zFiEO)>o|Xj^5!@271ry|c<>32x}YdlDQwf^E?^8#$?v1v20Wv`MWV=e>|?BveL~1t
m>cZR`M2eX2JhyS@$h%v_0vz+oya5Yv4~vuvuoPf9K;jo{xN(C3

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$Companion.class
deleted file mode 100644
index 3cb0f55310027b00fd8c69a9bd754e9f28d95b02..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4330
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
EUq^BZfB*mh

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$WhenMappings.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient$WhenMappings.class
deleted file mode 100644
index 9f70f9043945fa2c4f1d933ac21deba02c91fc4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 768
zcmbVK+iuf96r61?PJ#g!$|c+{fhOGCmV$%|NKtB0ODT?;P=xZdNtR?=XKn0t_%1*~
z2%&xeAB8x!%R8#HTF;EnnX%9A?>|3}0BqnH!>b^g+CeB352X$QKeord6iVAteT;al
zqhzd;NZ9RAcCr_Z_cNh(c^FDHjSVmc>wqt~?Q=D?z0rXfYXb#_m4>5|dH=K2<Joa}
zV~t^H=rUAZQiziJHAA7<+Gp7O&#%}MpAr%4U7=^e#6Xpyyx=}b3@@6kVfQ39TP9Ay
ztf7X}CQ2w*v4pc^yzO+Ify40pq^`?2S0&f;3`P)5q~d<|yRL}~xR~Z$BL2o1n5gHK
zR~U*rPJ7$LwOqK)Q0lb@ogEW5bLAGb^xjd+ot)pLmY&xq;a)D>r!=oOaJ{#E6U|&}
zF)Viv15GoxX>@$THQ%D6m@f)+4OqHaL`NA#O6mOAAz62ViD0PjB}&V=*q5;!`J$~<
zpt+WTimi1TRxvfP>gnt<RDppC7@iUnnH})q2hJS*s(pj?HC-#;ak=Pa@G8Ml4sQ@F
z=kPW`BZm!wl^m`Tw2mttq}cGjPzc3illE15KBT}$Llj&*&ejvy|Ja&~b!^b~7oi8V
A-2eap

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiClient.class
deleted file mode 100644
index 90ee4132ab957f1904bec3d3e89f6873ac051ad3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 31155
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

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.class
deleted file mode 100644
index 419643d8f06c1e4b819650abddd3ba7bd9bdb4b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1608
zcmbtUU2hvj6g{*4T5lYCy=j{?E&ZUOwVkHx21*N#BHAK^B{v`^ijeX&UJuUL>s@PS
z9I0>lEqy@n1`-Iw1B&v<k3!tFH|-_`sRC(t?%p$J&fI(F&i?t=?|%T;#3u}&h0(wb
zCnDezsl(7$uIEb;XjcZ`MqKG=>gj1D+@}-SK8JLLnuLK81u%x%*50R`AwS}-&x3*c
zRc|Of-P(Q|Vz4jL3dk}n4usy-Tu;^WurC-gwR)Q&s}H4Oc-Hy9LADqy+TlyV`ywL6
zYOOwxZK|d3zTgugv@c>?sqlAoB!fXKwWuSN{s+c(Yn!z0%px8N-HW&kl*@x4r0gUW
z%-sp~&eZpbRf>`t?!BB)&X3+T&9l<S%Sfg|nWZ6y$CS!DmMp!nRYDn+A`CbT`7Iep
zz0L5X_Mf!s`zFc^H%6iMW#A5v#?(?;L;?5Rb`Y0SNlz89%&_bo3UBl^kN8*+qpgw>
zG2E-A&LHWk6q1}ueZPdOShcW%YqQoN{}SG_ki!i+>rN8F3!!<RYfdFI#zz^t0W2PD
za(gouv72FFBZB%58Gbl9zHb>ThIMjm88!{ECD$<Nwb$q^(|e2j99ffW#=N_7a@@$8
zC&xD1G@8b<MJI1(R*h!%^i|%lbKNyNzk12ZI!4oUEXSOGHH*!{H>cmlocwCmwCsg$
z_4O)~wk5D+FLoWfOj4B;)wZjr-{<MPjQ%D?zQ-sl6b{cC-BPJbwLCAx#zbhP!$@ol
zxi?Z_z;OLvulIwIX1La!23n3qJ2;X`_I&a5O+PafcjX|Us~b@dXXn?q(vgAKnT~rR
z+T+A$a5|yK{e2$E*iXQ<i@L9S;M@k*Za9rR@r8_qt|n{t--;xAn>sfaA1j==k;y(J
zFHd%nY?gjAc@*e_eg;?|?k1rIO6OQr*r*cvA<en8lIn?E<7X`WI3s^VV=M>~dPHMs
zPJoFbdFkyKwczDM=yS3L&D-nFmEUl^@hfgN)_=j$PlOpb(~N_QHLuLMi6*T|lKGhC
z3UNenHkl;)3?9!!ns`EXOtZJB2DcB8Y2*Fba|df@-Un^m#XUk%I{;Itqj7*Gg`&c`
h!hMCZLPg=S!p6)cgdR&_LBUq2Dm<7Wd4+<4`!}zIlWYJ0

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates$SetOnce.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates$SetOnce.class
deleted file mode 100644
index ab4fcfc583e0682a260a5befcd16ce4f3ad75046..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3186
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
T3<x9yG6MAigZ|M4flvMej4&A-

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ApplicationDelegates.class
deleted file mode 100644
index f4efcc20bd38ce5db80af839decfe2839d01a04f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1711
zcmbtUTW=dh6#iyyuh$!=aom(9PJvz$>Lg7!G1n$;L>fRfxNa3&sj57U*V8b`X4l#o
zN8$zL35lP;D^EOvkcdPjWR*95RK=OK6QHgjqLO!J&YACA=R5x6#jn2ssNgQcdKB+@
zQCEb#D|HkF%JTy$LhZ@$Y0Q<5d%o_)!rSb21L<=uqwo_Eh&`@_%7QTz_W2R_0v_&p
z58L~~*IA?(vP$TOp)VNjl<O}e))(prkq%_&bz=%0YblhsEqLc~EVXzv(0#Se@VMGq
z8@1jjw_4|OQ5`iV(+%=`qi*Wn7rGsD87hy5VWgAll-G!KqZb5(n)^2tL3le51lxLz
z9?mrfjmpAhu&XkZdV}H8tD3fxM;_xY#&CfOI7bJwC@`e;mr^m@O-lKn4^1`ZJK`zt
z1$u`EJ$lvRXlEHFhL1is#4>zaeyy;hL29F_^N}f!3~Uz`rWsP@g`}4y7ir8gIJHKz
zwb|JEl#W%R|KJTKPf7YfXx`zPQx~kmqZCaJGYj?BY9}I$NTg>6r0T3P`2FK4*P6Cm
ztI$7oEr$+9a5B#C-&oWA<BGMy)|hiI>sZgfx2=Np`BEWODirNvdYY}UV!CME&#a`c
zr=9+BAyaW3t6-Pt>V77HXP^II=S-*yqg*h5n&^K_6Km024(Y~lc|f4$uFy(Hu~^>c
z{(*`@)1%ou-o(WmomL3=s?ooFpov;rQHQuNQJ0};^bXr1ZkdTN?1+3G?C@9`d8o`a
z<zC3mp9#b4b}!WOP}IUBsU%@G|C&D<yO(bt@t7Y9E#iN`#+#Z_e!#oK0Qp)Nig+vF
zN(o}T+l+d#FFundqnV-0osn=@r83jzQ88nxrc)Y|hAp(eOVY>mycX^GXBd03bb^UK
zCVwQ^!h5vZWJh;+pVl`9I202vMmvQ|bpJtu&f>!%-l6>?`m#hB<cLW*GQCV^6V4+i
zCY=jc(qDgv4683L{eqc6z&oT*fjMW9ZHi&hS2{B`E`iMA39kG^hrcIjCrRc9fMJpj
z-a0d$C$uphe+KKx3A`^Bf5xhD!p`EEdQ(^<olDv=GFT?_^(0UQRob^n|2B2+>Ml|>
vTuXk}apP2)t6?7RkQO(0!4%3^*oCWbQDIS`q>xcqQn;lsrC=*8E8PAQ>JYPm

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientError.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientError.class
deleted file mode 100644
index 603a689cdcaebbd858e21f5b9e3f80ae8e0d3c73..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2831
zcmbtWTTdHD6#iztzAXlf0}VJ_oQ5REgxDt620{abByJ2zv5P82t+X~1ve@3WcGjqQ
zsrVI@^4h09^r5X9CCWpE^4R~-zf$$gu1ywjsMSjL?ws+teCL~U&iK#2-~9n#9$O6a
zmc5g;n%vZzhGSWEk*(GZZaP`Rd~WN)v0GKAW%KN+ySrxFmK_FT_-3(ur?{){>Djt&
z?qr`-c6rrVSSt4DZn<d`js)1`qG_3eFP6&-OA8G5{;#7jR0g$TZNFqloJ7hn?PA^K
zPQ}&@Q)G41v>e?r2t{_IRj=!nIwv6E9qz2SUWU^%C;h|_LO2QqeH6`kVF-rny^`SL
zlmcmjqPN7Vwapn=fuWxwmwbDH^h_a!LBwUaGlc8~*SEP%5eGe7Eyt*5*Yzejdw6tb
z(FeTb*oL{Y;8Q3X!s(*1<Q~L@(`d3B$&>_7SRZxZ40VX|0V*8d>k_axNHL7y6G_21
zLuk=34QGkrV%nEsyBG^Tf0C6MD)(>yU9StUS)Zp<$eP)TV1!|^W;u1k%<k?rsEZtK
zn|eK4FeUB6sERN?WjI@X!K<~Wx~(@jX%xhUM<v7ME(m?OwNGzmD~4%Y)Nlcp7_Rl$
zES)ARzijd_(hPmR5@fj1YvKC+EX0t(Y!oxN!f-qNpIpdnCUI3m5Lt$D7Y2@>Wue%O
z<oo=&-l{vR)WYuIvg~!;u5sHv`mwe})vDKNR=IsnWg#9rVazi`c%$jOq>UJ^BdOsU
zZb(p58dcgY25LSRWM0a57=}6k*14l^>yA!MpfvUZG*_8?#7V5UBBU6gmafs(cAnv{
zgZ;Foj4Il}{^2W5YbnMf-fNnc1N2R4N+dFRu%A&Q2m5h0A4#YQ<q^v%E4LC_M2QEI
z>L|;pi3qKONhKFbBxw~+4okgUG@&J2i(E9P<s$EY3@P!x%`+V<l4ZE08i~dGH!pq6
z?CbYGs2@}Z;)9#RUaX@(#N$Kne+ngJl0+vfGpzJl3?ID>h*VIscqcd4<c@GGo6qg)
z)tazOhVhSDUadI{=QdlWV>Ecd+%tqh^L+WkjAw|Jj2)9ku1)h+^~UaC(J=W&t5M;0
zS<ZiXby!uszNOoSl-rxr$Ne5Q@{s`jG`*`eDyg=aR<c@ll|L|~<6%#@&nvB+weK8G
zvq5Gw)^@#h0x<Gac|loANXScvh$)g3qIZPe33)TPZyJxJxlU^ZXAgBoUELu>AuD);
zq%2tyzX)c2N9-3@{fVn2Hz)Cwo-t1W{TLw0AC5YJLb4N%hJPkS1s@zub#X*#B1w51
zM=^06MXHOjm)N;OG%_(7x|nJ^G$_1EdlPes^KWrE^Bd;gAeWhajaX*<HHI^DuQBoK
zAxg<c2ouETc{f<bGj69$ZrWVSm1J0vuH_X(;XEiQd`WwQ0YV`ULZTr|Gyo>)$UKHh
z<TOmbq(@Zs`&S6E;)oiQ3+3*J8m5I7xEXqjn;V(gaYB3BgSSZ*K?I_aewWVyiWnxR
zaY}UzDL3iQ+5yhGbpZ5bSb)XD><t#A4^UhWWB?_S6g)<m-mgmQ%TKk_nn!!=USe9N
zl<KS=XtSw&>Qtj1?;+o<qh*R({zCrB_1vAjmRZyA6~SvzR*RJS-De0Cu;hL|$GwiU
zT)+xeX&3jOfeEbP!84o@7!Y_U@JJveP!Je&pCj&*MEXn#L<RlP!k9o(U`QY#@WnsI
CQ_Um*

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException$Companion.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException$Companion.class
deleted file mode 100644
index 6409367eb2bb71986db5daa573f414fee6dfa085..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 945
zcmbtSO>Yx15PjawSC`PHE%b|TD9|Fc+xCEjiV!qyrATR!N{NtqK+e`JPBwOAI~B)>
z13!clS58PAP?RG-3NhYLxNrd^%QNrIJbOIjZ{NRs1+anp3{SN=jdfQj-jz=4)W%6F
zg>tb}Cx%;RdWq{95mz&I=WQaoPHMGS)txR^<Q2gfDlLA-<CLq@_<6G>5?4gXP<Skr
zbWa$<rR7E$c@!e#P-MutH_|d})&KYMO@{TQdRx0xs<?I5p{kuQil_0mIN`n2Rka$u
zL7P2p+QMuuHzEYSi0Q@Tckp#5i!!YK-DwPy=Yl=q_%U~!Y6?1MAvKu!twOMwL3l`Q
zVQr$0*BPpV{!|pq1yN8L^rN8Uov~=pFAd*^bA$dyu*SBErC|7>5LAML@k+Q5tmR$}
z-yM2}@`fJ^d4JRfqq|VC!bqMrgt0W1m$hw%*->X!y24qfjaX^%q;0igc=&IfFX9@*
z*ss}>zhjIxcD3zjs#Sd~7$)jciTz%uDa;{nro>FubwY)4Dv$6_vRqS2m}<(c74#RP
z7rJK>u`9h`{-CFv?1+Z6k`&LB(vJIYXR%Jh%TXUeHt=7HUVe*EOqSY!{DaRZeagbO
zY4>5EggdmCM+q21l#L~i3&eQwBeDTmFE0OCJTpodiG3<AVw_|l770b!0oQQ@^SDbm
xz)jpEyG#58<yMXm)-ai^DNLWEOEp}^46&F!0<)OI{1FNkk;Q`b&Xvr$`U48S=Z^pY

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ClientException.class
deleted file mode 100644
index f735c489f1b44777f8e06fe3545688b048301820..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1622
zcmbVL-ESL35dZD@>wI=n$0e!bCeVfei9>q%fKr;Yv~h!U$f;06EulQEovpd}yl3sM
zqe_)f{taGv;(-?gC=y60>LY&?V)pEODD6WP>wG&iH~X8J-^~2`-(UX#SVNuRZmc?f
z+!vDfLlei5_S;b?r13-fLUC=>plt?9`1QoP{jx3kCX8hcjG=nK54j(4+3}wZqzQZC
z!uJ$|rwum)U61z#0}B|&I>PK;u%#9jgCa7>=HVdEkTySrn&DpKYDsM{WH&<@nuiQi
z3yt&ac8v;UXCqi_GR!C72g0-z52g0Glrg15HEI9pAc}Y^5(G5)mivp%BF0eikj4Z<
zt|zqS9V)H-W+;a3w*Uk|qZ^wjl>WhCj~F&WNgnx6#0x%%Or26l_>R>MS6!htY`&$-
zW#lkr(-`-NvkC)on4~pn^_%3cg$jAp6iQP~&x0pK{WlqExBb0ha5t&JLyq$GxYy^B
z+!(g5$oc#k29Y*#THcN@e4iUmHm7%(qR7m?N~E?D6;`DYVO=uquQIewjw+s0agzVZ
zk>`}gz2tB`$IZA?m6M}e`88*S-Dml&n`O^+N=`LhVJoS!OLDsEtYlvQoOMdsXA@_d
zOAytxn=84mf600_(i+3eg>GFQTgn#<H-=4G?hB($ti<vGZ+Eq2>Cx2&^PHp{D1+67
zQ=Z;+3~a+c^RSN3i<rZQc3r+;$ZsnZD}ASHXtk2*;nFmDG@zMG54Y}GBb4Ilpw|-W
zJ3HBSSmQR02d5z+ePo;;5fRA4P={pymMh*9G@p;p*Mox4^0vD>yg#~D45SpQ9&xP&
z?X9;P4^&%x9ojh4Bgp0u@B$8QQ~GJ!f0XU=lT^hl-Y4eolkDIFOxr3+&R_yLxb$U%
zG@njt5Hhtt;QgAoZqhrO7_)dla&hQ@0!g-&v?l~;F9&qmp)1suj!~}7{0Z+jQXO1|
zxHWVeLC^(U$9oBEA<5RkL%NrD$aIYaJJe&CB+W+Iq|0{Ms<Y`Ie}c<SaHBDsAu;1T
zs4dMLV|p0$EAmOhDdf(=XOlX{h>9W7B;nX%^EH;rvSZBHiy$s;pSe_$OsVL<vHm@|
z-2EN*hF&Q=B43XH)~Uid;`1@-4!*<|ozKZWPw*e@Ar;``<oN^(r`lqG8kWe4Pxrty
dmT_kf1&yMHuW?;tMI)2E$2D>quEw0k>i;?jd7A(L

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Informational.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Informational.class
deleted file mode 100644
index ab8af7092fd5ac457e9405a344f4d7498745a889..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2740
zcmbtW-%lGy5dQXjw$B#>hhsNDNJ2|~fC;h5ucm>}kOUGphNRd+m7-QU%!V93-&wb7
zl)O~@6_u*K^{EeiXsbqz`cNSr``ACI>g=5fHjvb6C2MzQZ}yvSW@l#o=ik5o0pKbs
z4A=c&v*0(mXEz<``>rU|T!(wI;CRmiTgaeQldXUkO5SrnXxP&6J=;x!F?=~!y<Oh2
zx9x&!dz*zP>s!1gXXnd30xmQi!t5}y%0<)n1fQ!`XXj@b?*3n(By<K-NL#i<mA{k>
znGU`c893f1*%=QRZ*jRE*p4R(w&(eDh8z`z6<@BjT$i-^Ho2^HKxHQ;kAkI<Kr#gl
zCm3}3!VwHNdyPj|fXQH+_<etaGq6%8gJ>@{F<DAu0G2X%k|Ftm+Z#L}n*$NEmUP_0
zvfU)Ghuu4KN2zxxlpP_D(U=c!#iTeq+BY<~AA}B5rNev2K=o!UjT}Bu&YfmR%sHMT
z=NT?c9OYi>z*GKCt}%S|?|R1&o9aM%PZ%cG3?vxN)_v(ZUSVsyLFFQOK&3&2q7q9u
zHIc-J45w-@c&+}_4(tXejgn}m6vL%XhVAM(>f7X68sj)`;v-xzkYl*kV_EE%Q}tDo
zCow_!)0JTiH+s#?PNdm1@|a3t5|<fnP5dVa<<c2kF%d_Bq1qXSc2OR_&{FxhNI&4u
z?UpO=Q=x`!$`6+9pw5Hv{)gKqYQF1IUka<4azi|pNnB+xc%vy_(MB5AF>K-*ZYWY`
zO-i?q83y+aE^}#b*wUsN(i+<_>Y7Xq7K!Vj2qng-LhH1(F~jiJ?#_8r8`8|(owt+K
zA4--HP4wLwGd05)+TF?P#_o>At{NFVqdj6p?cTLa!itS(MLlB}niZ#2A~Qm(<VaTO
z(7u@owTpT&RW$a#PiU68dhuP~zu5amCmm&aL^n=Y>D6om+Wn!=>R%m<>>g+jSk~ST
zi9zKV#f()M?)7@(?`-cBNl;lt*E8MZQb<4G(_40}E_{z+^qnWK)TxD^UTt~OY4DP_
z?FeVx<qHSxnjuwjHa+V10rgBhYLf$H$Kxxl#yStGHtDNZz^~cvnjJVwZf~AHjQh4^
zyA1Tv8&IoL-n5UI6~7hK_>!Z5vyt$CueUZAUrJ70KzTIWhF&{D7&DY^ag{*GsHcMh
zQz9urvq5u4b@y<lMo5~U(OSc)E}b|Ak%CIw$Mm&8Cn>&&=YK`|r%=62qXGm@VwuKt
zq<}v3lhkRB(w<DRBS6_7Nm0WAQ1%!gh9L}-ABS0t9%hj{=5XZL$RRdVj%`4n%<DvA
zd@3{c1{bF@muSrYg6ZE-%ul^WIzRdv+5GftjQ;$VtBOgQ9O|RkDaZ2>MB8x!Ye!tI
zRGc+sKs`BRG$M2kE3`KdqnN1cP<cx;)&3c}xF}AG1e&BT=W=@d>u(X)?&S0&EzH=>
z#2egP$xn?E$y*VtC#0xDOZA1ZRQ!_2lI0xjMiyguN;(=I;d7e5t1K@(HQ!ec=Hu`M
zGV_(O{ne5=H8wN$-a|dUAYJc;nJ=3&<1?497jMs)`9%|}L~x6u@ChaG?PrLUFdP2n
zaA#kdFX2<%rClsM0~5H1`_GUO=ofe(uqcoaSP~cr$6Pp)cvfIYU|3*KDCLx(ze0HU
E4=Z@UZU6uP

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Redirection.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Redirection.class
deleted file mode 100644
index 0fa433897dff4974540326682034a326e2511924..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2479
zcmbtW%}*Og6#vcoYrPmSh6H0ErGX}3AZrtnrkK+38C(pB0HLa=hs8`_@v>{}j8Su`
z_$w;q+EWibv{56X9wNlCe^k}CyN22n5NaiR-n=*Odw%omKmYpUBY+9KWSDT=J>98t
z+o+n-aV(*iEtA_)H|^K1A*5R?%bLseb-ru5yev(}j)5_JH@!JkIxvn5-7@Sw{pHR9
z9TsLvw{$mKHH%FF*14!Uw&2s7n}wMI!}I^^D26bDCZr*2V&2*146Mk|y2s^4gDf;W
zQcNI<SR4v8hOpc>1;gZR>u6{TB^}%6#x8fsL3_}fnlvqa)u__hi)P7mL-RJIYubB-
z28EI-<P{n-erpE(<PNypaShWJx?$T6l|(lq^fgDW)hvtRX;kU*c{&}#BMshzgo>AC
zR|IS@x*??m+R*Mb@D4+C+O$nM!_YZgY_Rr1j%+cME=#WnI@(}&L)4Ki6>SXnDvq>F
zTR%8DB+N?g+J>bUZLg)mEQ=U=8M@2+yj*!@xW*wTjiRWxiQ(aJ5Udfz4U+oJjBF*)
zk9!*W@Cn1?TSD_3(wlFpJcdshS{l&8@Z|Ow3!aAOr;xxPhT^!7&lsK!|0fq-HQjiq
zA%bCsxyv_FD3-2j=>mUk)GRqqDD#Jc<E|QRg}eT>_S7xPj%5WyLU^zjD>8;r29+OH
z<r@+tFpf?QV|e7Hkk$w@IR<)!eo9%7f6UNvp1>-X#;zd^g0pgX6r!2Myd_EOj?cnl
zL-e#OB-+h0ygNO<uPJFoJ3YQ2N!90)Lz<Foqwj#GsL}N4aW<@;9w*s^nhK|sWtLOs
zMpLS)Btsb`7fxkp7s+&aXSrBPOZi&4SWeAF&wh$3$@uz%>(0M9`!P&9Uf4`n)siji
zU4hf)gG93R?B^&!SlOMR5;o~BZhN2Cj!)_o2=Bplj90l7(sB9tfl;mq$7ble*78wB
zGQ>B`J)0(`OXIS4y=F`EkQePEQ<yszpZ#af(4Y)vYJ17F`C9F8hr62w=`f^9PT8=w
z4A=Ddx^U>SuZy?X<g}GWbGbq|shepVPR%XzCDU`<6)+2Yr?$8Fz2x+~y^4D3uDAY`
zB=Q8O2mwSv${X>tOL>!u_(flu#1hdcHLQbZgs6%*tuKhviBc~S$^MR(UudIXnO093
z=s}UzM4&*ll{l&#orK5B#&>_E!$#xG6~;k6T}}DWH6mSi_$_(xpq?H}Wj<ga`wkCI
zFp}+kkCyD%d))o)B8K;bqGU&N&yO<@*wvFH4}K@SBGOI0=)u<{iz~GF?VvZ-jV$fG
zdgjPUlxSan_=mTMDAWBBqFU%_<OB58Z130!@<9qKq!osuCj4#%$@Ea540-CNe;k3o
zJASh%TsFj_>;#jZv1b_cA%qff3Kp<R^zFv#>?`di+-fWSPk@%)7&zZ8X`=)Afg6o(
zJ;g8n_-NUZmLJTIP3ETZT6R&x8l`7YO;4zvr`re>@wxwbhA+;!sUixPCMmw$1{0XU
jSKDY8Xcc%aFe?xhm=kF8SK81gEszrE6i@}?0`q?Z`16D#

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestConfig.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestConfig.class
deleted file mode 100644
index 1763aca2dbe0a61403fdc6a971b423c7906449ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5445
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

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestMethod.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/RequestMethod.class
deleted file mode 100644
index 682c76a806c3f9affc7d84c90e58d08bbd5d0dd0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1652
zcmbVNU31$+6g?~1(pphk#|`-?r5_N$PD!1Feo!1j+(d2My0M8I&v^3CQEW9;VoO0Q
z=Q%UX@XCMSiASI_lz}PZ$s<3C>D9_G?f@^=X!p)Jx_kHDvv=)3|N89@0IRSWZU^CE
zF*tF3=fsPGpeu^)uIKtu(es~&j)=m3JL-pSao7F2?~3TD8@&iRIvB%t^~gDOie1M)
zELwiQw^kh|RB64$aN+GpI#LYkBdfu1cf6ns+Ll$d8Wuxp+bVA{=(T#IQrn@5)Ae#=
zbDKWYYc}nm*7s=UYgD%HMe9W53r+H0XqKyc7Wv=XA3KM&VaS>Mh*owKdj4UlQfQjU
z;gW$grYW1~g(nzh7hIC^neX)6XF*7B$Mc=;!ZJhd-y#0jeT9KlNP|<SONYjAKVKNL
z2oqUMWuV|a9aE%TyBqi}!*sqdl1}a5$Zba@6W4LWz%{&2^2x1h&lw*7N9~1i6}>YW
zY_sbKQ5wl(sO)HJabr?q3-~D3`D2Eu>TwX!Q5UI`osJVZ)P73uRHggC;wek;KtjY&
zB_)rE>X4*Q24|+B%qfPF%^C{N@bhok+~91L=TbRkd2qJO9_U;-|6WtF%8|lV8YvoS
z8X66q2B(oZ|3Ne2kgJUL#B7q!(uo_1C<xu9Bd2{V0-r-ONcU+I8ua)CKI7mfcmhfs
z855ZVtaBJ9j0BW9CQM8uV2i^vVJ6@a$E1nL1UzQQzICT>9Y@rKn?Z+;_hQxa-JO2#
zzzrMDL6?|ZHE28CrW1NG9+DZ`JM^9S=YhengMQd{A9}I({BGZmyq??igh%dW-wz@u
z@&aFMtWYIs5|(ew$Atl8sU~Tu9BHW%X{iWlDSv4xbvmHSaZ6H!6s@~}izMMwLf;XJ
zpKr4IYbdRj`a8|JyXq_4YrVvMyOol}=c$BPvs-CNe34FwFYT5li483w9@s5i5}SHL
zSayp`;vr9nZM&6C)>N{?MNjOPxcZY!M2Rmq6q%ewy%cwozIgM>E4&jsDA=J{qwM3k
zM)UQ=1v7D#^yrwyocyk19+zoFomhn`&fr~K8P+``JpkipT>S+f3~=p7xjI8V|KUGA
ziu5va%Hprc51=GI>M){;uVmyZcFFFMZ-LHeaUW_0H|6^Ymi|V!Dkx%^Sgh=W3HlfL
cbRQD}y1;FLO9Gkz7sv=0BIZqjNr5|W0H0WT`~Uy|

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseExtensionsKt.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseExtensionsKt.class
deleted file mode 100644
index 71652625e7c3140ef3d737c263fb03fa1d1a4767..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1499
zcmbu8-EI>{6vzLwYkL<bA+{lLoRk!jKoUc;;iCx2y#OJQteSul6eMyrUQd#-*Sprt
z*y1v80IvW-f{R{PRWDG)4N_mE4^XaK&Mr>s#HoaY<lUL`-!tbo=fi*g^T!7OH*lMw
z5~*D;>WGkcq=}+Hdww8AXgnG2D6Wm_`lhRdw;^;V3blCf!iZ2y+Wul3Fos-{_qZ4E
zaMycWZwjAOn_*n)YPb`rHaFzU1BQvETGZMzrgQTsR%Q7)!+b5iK~tEz;xg1855veL
zr?j^one}cEROs}A*^_$VL{t|p!)z-ufegK7uT7UWLJ`iZhDK2|>1zjBhN8bG{MHk$
zcw3N1Rrez^EH2efCQunrHsdh6mF2BbjAAT{5uBxzPbT6Z$B^=)hG4LlmaC&E;9M4Y
zoM$Kur_GR+dP6j%qH<BV!`u!f7gG#lQr}NH@j$6aF`PT}8c<!#B#xUx^@KX<IH0<i
zWysh1m3kx$Z*aq@u2#Ee(<rd`MLAgY#6)aT7g;ObSfn?uGrTz1Kbt++&sw>WtTkn2
zEjK+kkvrI*w$@nLTC?sv{P-r5nNGO}`#GDwq=r7E5<NYnrxQIhq-S#W$M+d0=HFm+
zOBBCmu+kAmn@EY3Cih!93TZ%w2XwVX#ZBE$x-zzD$nz2JJmvL(x-?#sp;+&>>q7Mv
z>XXldEv{tj(H9psx}lM6Q4M=iOVW=<=-z*0O6}Z?y2=+1WgNQHKeP4q#DF8N!$OKG
z3VN52Muu#UET0N)(K=TyocSH&d3?$>%D-Xa=b5)~p1s4!%xgHQcSza4l9!D&dgo#P
ziz!$R^3*8i++`FV6q3>7(w`eNu~an7ku^!{O?s%53=VBdC?3%pefoU4P>Sj7Wu9I8
zCVc6C@M8n`dAj5&`03N|KP33S^X%1k;S0y`GpFG%oQD4~#@m18+2`-V7mwj*hw&C}
zQ41`r;wM^b)RK!d441ZHS236T=CN>SU9RE^7OPmo@-~=88CSRAYD{Zf)0ouAXrwiY
J8W%KHz5vj1H?IHy

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseType.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ResponseType.class
deleted file mode 100644
index 93cb48a774a39821733b5672b41cad8d20bfa6a2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1580
zcmbVMQEwYX5dL;;-<>bl#xbQyN(u!6*eR)#l$3%)NNU_-Fht4~OI9SR%Xt&dIp0~g
z=SaNei66ofk3c1gKp-oR{3yiio{Nlt7oTo-^nIS4o%wFYfBgB&?*O*&DZ|}3IjzM*
z5qZNPjpI<({4fwvS_`6+#FJ?<^3zcwYKKA&<4B6fUk`-|#_*`!_s+dq=tZZsW;7b?
zv}cG^->oxT{bwK(c?Q!R`M!{nVSA>y3|CswNt_J4G>9WFWSBb?y&w_3!h{;S%4U+p
z2_aV`=OURPYlkF=f^?T5SE+U=nbppI`-`T_aPMfwY>b^r#OswQ-P|+@qSJb-+Hp|A
zf{g;o4Egk{fC^t+6(sAE$Qy_!aYAn|ph8wR7|Q<+@xShy46MaqoO|I&P}KXC>TESQ
zxQh8AI9@U_&rtBgI1&ukD%GiM4vzbzaNWVnc*Vv|+#>Px%?Bq8t^X*!I-{Q3)3F+%
zCuMyqjft+)nW+|~yk5hqQuz&rh4xvT(s!<XCQ`5Gr5<%6ADriCFqqm(1dla@f;rOh
zjHn(7+8AFrHecd4FO_U=nbzeuY-xP4WtH<~zA?VoU=K`-Uw&)w67O>>M=MXOK+B+I
zUVdj-D%2LEyRew$u|5>3OyfkX_dWki#*qcXCb`QF446vzdloDQRtDa)P;^ktz>Wpm
zft`U5EzCKX%fJJMmHlBrvoJNx&u970SxVj3h<o%M=i5OfJ|7K^Me^7?4v8tZW8Vuq
zUJ@ugA&YKs8hPp;fx&j;QR0h-f%0BH97Sm`5S>5<<h~z8ajIue?rl=;1(ML%TUMn2
zWT^^msQ_&$cWo(clKzJ3H9C<eKL=Mxq$Z(0A@zJ|{RZCc=6<EU{7&u}w!2U9uG`IP
z;(k6O-gmnNP1Fk+@qyblG_h-B#GczVHL-7IM8kcGl^^sST+Ji6zPCvYpjyCOyS?%Z
zFDM6&hqN1%7<C37(S9p)!8KI?Jtkhnb^W`EMJ&;YkBQ|}OcBetF)1nY0PG*J@)KSi
z<L3AJbdehM^}l_%j$@bk+Ru1%44(PqCJ}RJ>Bt}96S4>7`xePvIYO?5s(#mS`#E~M
ig>~E^7PTWVi4ANXp(tTWY)LFg7!sCLj4d%IarZ9_sC&%-

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Serializer.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Serializer.class
deleted file mode 100644
index a43232fb4d33396e295eb12519b78e2695bf35c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2066
zcmb7FUr!rH5dZCA?DNGK2T}s$A8kluL-Fw^rKF~5fsoe5m=+_e5f9b*ydh_w@2tBu
zB7Nei{T_X&`q(B?5(TM3^sOJGAEfH+`CL$Cia7grcE&TaGryS~|M~a3-vP{Hn_<rN
z_H?(!9iwFl*R_4!v@Pxk-Ey9JhA+IfDcT;_%iOaJ+xnh+F))Ty-PkvD+i>>ut!kZ{
zB8EPO;kscqeAnrSHjP$`dkiy0({1X{$QkzznzkM)=`}+bRm-V`9y;ndhPy=>Q=N;d
zXIPG}8;;`&Ls%~DORgxjZJV_2^f+tsj4DH4I#Xd7DK=bTTaI4eZ|a5pW?8y2$-&4T
z7lmH&>gmj-B2J(m(Kr+gFhrLv#}bbc7(`q{1Sy7ycy9R&3qe+wLYjh9^QH36N@;DK
zw#!r*>73zeH>XW53<)D?D$V^qDk_r;ovKs=7LujPum*{0a}3+Zhu1V^RMC{w@u8-u
zw2_P&QUCZs89hFnS7zC2OjS;PiYh5(`(~<dT$zn5MZZ1yF+#GWc6>M#QTtQMctnk+
zVkf^uRq1)2(b2fxfqJIJg)dx>&xAG72%J;`*Dx$$nq-*m-4RW<*0#AG7Hs`MaL1Qr
z-=OyTP{N$ha35)gY;SuBg?Q28dcD?I(hIa~1|DOW(l9Myxp%%{(28CC8HVW#RL?ef
z3_3&7<9n8D@{SXRO8TNc>S*RJ+i!E2*D#9(h6m>d*#W}$7UpL40^QaftI50ReXL<o
z!f}rI={3>|be;2#X}4>9GNdsqF=(Z&(swJX<@M4I!{Rx4{=c7G0-qum$3rYLjQL!2
zXH0O{gTrL?8TffPUf}<-us*`)64oyWmmb3<ozW&H{yO|Qz#<!Bkv)YWqhgie_L*s8
zIn)e}Ve5HEcr?i@(~sdX!!7eUHyi5*Esy&$!-`?IdEO6a8^ir{@xS9WcScf{&h~Pd
zN&-*trG|BU#W2tXk9*mMV7Rf}b_7*C@9bN?Rkiub=@g}zwC2`074b2r7)(R(8dV^)
zsPxbuELsjPwVPG$?HJ^YVW{YuhFvk}UxD~gsFmHeXYwbO%`rzeJwn4r!ML1{G#xgG
zlQc$jOb!F0kyIQi;xwj;#0}6ZANE^7HiNZ9t2EPyj^PRt<Wef%B$<37FOmF}D8m-5
zQWK<e_Ao_GW0FfNov764pL&C<@)+fenTD?e<3IsJL4+#a``7pd#VLP#cm(C?8{FNP
zdWCy$kvYONu^$~H`x+09ut>}&9p)uIdySQ+Lu+r5e}$wxuoGvNG6Ch32tI=$O@?$J
zlnzjqNn|K~1>caqf&wHSTjXVgV7<PJzC1>Q?-<6r+>Jch-6AP&?}GWbgNa?leGL0}
T-<O+yA5kBwk1IYBK0f#dVgW1R

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerError.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerError.class
deleted file mode 100644
index ba8714325e5392caf34e0a55b0c74ea128058d15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2858
zcmbtWTTdHD6#iztwin01+TessF0>dhCS)CwG-;qTKrXm7Bn1~$iu$mafh;z=*3KF!
zeW>y)D)qHbedt456{X5Ug?Q|bs(NO3fyF?IQpuW`bM{=m`R2?S|NYOqzW_|(YlbPu
z-7=gex6P*IIZi_uwT8uQ&#>%G*A$-Hs(CG!8>`&i<?a*Lb=)Kv!?!clhm~z}*EAZY
zy=6RK-{v)MdbV=GaC1$od?LXL7fr_&e5P8Ro}FfR^nU{-p)w?QxDe(RXUImtu6nLz
zZ&8xG4|kh;>#k|p!Z2;y@l4MmAjWd5(J<E=oXk>N+*>*f)LR%o9V(3kk{wWRi9z*V
zS%Ts2MX87|OS#l_XXEurxFNT+8^ST~e?AE!G)SWxx&+ZfkOl3dB^I0w+B+*Vbdv9C
zL>DWJm($4MvUKRD*sr*`!CeC09c-`VSq)>!Y!aqtCp9yt_a8B+Si(EQV%9&^;r9{l
zc#`vw@5MtnnM1xKfXeN<GZJ15QW}G}Dk=DwAu(gwmN(0Azi{3TqqSa+WRN_KuQ4<~
z#PbaB6Oq{OA#{9A!yv=;y5lu0+t}XSp=;}L*ESnQ*_Kr<teQxoz;LDZir4BdOxN7u
zWKkB&0o@E^QOsc}o!<ZWS{g-6q%e+~40kSgI}dMl^>vdcaf{(nq}mzoUG$Db<4mVf
z!tD+im|}QP_@EGSH+kGmA&z?tn^6YB<`7{Z<fQ$)%ayZef6O<{R>NDM7UK6#$6Yer
zI(Pl@(2pBtkS2)-639r3D)1pg<}l<E_sk8`GwCuYJG(Jz)=UmMiR-=yDaPn(*GaW;
zn=!WkrkGOtl+^y4qe<`bC7o1Kt82lOr{z#e(NcZnqiXwabT*}B)vU6}O3M6PHl-<g
zY(VW}CDmWY{dFR%kv=(~l(cN0-Z9WCJ)}j}_bsWVOQqDoPYFd&uk`4l56Lp=fU0%s
zT`QyKxqWl+gL-V*t?LvaL~yLm=-HLt0KiH69=-SA=R{5tK^4KO4D%N)igTYKA|7;U
zf)k!>a!+`U%O|(ZT3t9c!_{*=Z`D19!IhTnSv$OJ?^?p5S7h$^Wnt)8wYF?(&o1?5
zHE7Y@70c$!t(|r5R^_WBUjV0OHr7nnl5(ibx5quY&?gdfQm3!gsVRkSsa2=t*7#FP
z2JR1IterxJ+f;^eDl8RQ`JfR46_OG(Ycyx&`*KQ0Pl*4G`Y3rX(OSW^Bfsmue+C_p
zCB96OK@o^t#EX9*{i|>O+&7ZSJYLY44h+zVE|Q`UGRP2&(}8;11C9JgAUa$0QJQu{
z1HVv41;>a+&j`eD14DEJ+ntBoQH-7895D3J(Y7Q*^iKpMVZiSwy*z__znUHU6O+Z?
zapx^QDNgJmUA(!6-r}`A3>5p-Jq-VL1Xi+}#4w#x!OwX&h!IjKi4D$EuH-2yGJ|~n
z{YH|PuOOXzfNd0C(bt?xu;j4^qnrsUb)Y=%(^~F*m69ZBF683s_dh~o`}nkyi^pjl
zXG^(wQZAI);>68s{pwpx2XI%&BaT>F(|nq{2tks9_7DSCF-lT^B1YlmQGAIi&AXIx
zhTJ}TiC7u4{_k@<I+W(hn8yNX@%SZ}z!N-uiOT|A0?z~%1rh>ffo^}y`QxBJl5#{K
WBajuiAuuG+A?VK&t_buAeDN<bO1f15

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException$Companion.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException$Companion.class
deleted file mode 100644
index ae26cf57a4d25cd77069f37a34a72ed22cc8a022..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 945
zcmbtSO>Yx15PkOMt4nCME%b|TD9|Fc+xCEjiV!qyrAR4AZHbV2K+e`Jn{4dJb|Q`u
z2Yv`AuAGoKpeRRv6k>Km;lc%wEYG|*^X&1AzkUDm6~HF$Gd$JiEYw}8L^pO?CpL_d
zSSlCB>eLA9OfPahBf~>!`qJ#ajbzuwS}j#|rz;eBMKFe-CHf*vggOgfG+Q!qMR*K_
z$FYjt69#X2rBOy61s^#S8FKDTY#Fxe|9kls!^U#Gtz8nUu+{HS)lM2El5j_!ieBQX
zT8-bJ&Au>gX|`4xK6qNh%u@6___~ut8P@*pG=`~j!M=3jL^we;@lM~P2D5Yv2sSf_
z6jEDQo2ZiwhU#!I?elr=^I$mec`0=!{NbQ9dhg8-2b+AIZ5K;?^r655elQt$i+nxz
zYV__XWhig-v5-%X+GKPW0xL}{l7=*v#`3bZ!!S4Q%xYIU>$H)pEfKY?RtyjSt@A}(
zW0?3gd-8XU(Z;T|9Zj{WPb5R79xM60*J(;~B$^2^({&wDVS>sd{F5x#l#-^J2x}$%
z1^-a@OeFW>RIqT+Q!ehvMr>nJJX1<Lk$yXi4H{mK`UtW-{ZjPuTZBTg)CS}qd`9V0
z7QRh;8U`x3Lwk9gfC>27Sn{|)Oe%gvmXl4z<v)vO#|dL`nu?2<B$<aLLVk9@b=<%L
z?h@v>iF;)Ch_6s?a15`8sccPS<{VwB;WB24#oRHN#XJ^{QLykW7H#TW$(*Y{0Mo1I
A<p2Nx

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/ServerException.class
deleted file mode 100644
index 0d0ab75568b21c2aa17c06f7fcdcff6d69e089da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1622
zcmbVL-ESL35dZD@>wI=n$0e!bCeVfei9>q%fKr;Yv~h!U$f;06EulQEovpd}yl3sM
zEuK*R4PJTTffocQ5=bcO6XK6T%$}VOg+8EI=i8aN+273kX6EmIe*Y7|2I>s=W7YBF
zzL2~hnmCTM-;P2djUUQaiff|=Z8K29-xq2q)b6)!(Klf%b6^bBBR=GQ#AU~SF_0$g
ziA&#844yXJ40Js{6bvk2nCJ+zf610wS`LcHAe)DSJVV-i6KaMBjq4?~#gN?&WoRBV
z%q%r7vfDQ*l%1_$xyi7YfFB9dQaqH}=TgR$64j*r=YuHXtw<2i^c(IkH;b4+$wL}b
z47r}rns=zQ@_$1y?7jgY2pZkkM4|MLhCO1~2qk&sKNGL`ATo7IA>lh#dt7ye+OqkU
zu9lI*j7?+GBhD%e#9@-wwAF8uzZNRwQBx>QHN6a;5%phWsNM8qe=)e*)Zh_E`Fh;z
zb4hLtJJ;lV@f?Fln>s6RPZ)m44JVt^8>Vb%`zn#zN>o^tMuc_AbhysYIz6s<PQ^+7
zr^lXCn)H&x^&B_j&Qwm1@8ma}HTIC@cW#$G*C{#GbcL;@$}Y+2s<W1P{X^C%WnWC4
zYc4@l({8ThzWy=m*+?4<bC<exb!;hLFx(n7X|*qmHn9?`N4(wDmZc}x8_Wxma-a;>
zm(F<lzhht<{*i}Gd|bo=-nHxU2}6EYsaWZIT|=vtOb?f)$)f?yWO}r9HyWW7&j-Dh
zP+!@}w!<2?X*@U$3F%|w;+Tj)4nrN1{Y$QRPtbfmy;u(lLd)Ck?(zQkS}~APsCvY;
z7PPnCemqcZ@p)+D%#I<OBfv{IxJ&7$ZU0fW%TH1j^LU$>e@L=}cQ9+KBsqgA<lxem
zEz*2CsX@rpeuei_;<`=mY+{_iBa(|F2NX!Mt)x96Kzli$(+*vswsL}UZSFUCKa=X<
zD#V?U+Zci_;3nQmU<*mM4j$9JyhElNB-o*zz%*$#$~IlL%T}FFfA>9Hc8Xh#`3#8}
z=TU8C?gX==pr4UX8crd19zIJb7O6T$nkF1uY`(@)S$2XsdlAIN-E)^pk|`Da2R6SZ
zm;1lq!N@CxC*<o9z$R6=Kzu$W-NC2Wq4Oo#7YY8o1Ed1HpFAI6=}cP=P{RsY@!<iO
e#wzX|prBFI@HK8~tZ8JD_oPNn!_`>OSpOGj5PDt!

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Success.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/infrastructure/Success.class
deleted file mode 100644
index 7cc9b5cc5355daa9d27d2bf8878f19804c8a28d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2686
zcmbtWOK;mo5dM~WQH*5MjGc$<ByRJP<T#S@Y8pFkoY+a!*iLE*MuDIQTHZLcC{p0A
zjOJ4KPqaX<J@wE-TQo?}Lt*6DYyVHtS&B|&MG1r!kjS0k%<MPc&J6kI-@pF>;0o#t
zm;GS7<hQwJw;k#Gt|&EJhkLT*c+Ub`$e`1Zoq(5WokoKTkpg4*YQBDJWyjvNORnv0
zmmY8K@P?dQSQ#?ZV%w=63ck)o+xG;Yuh-`m<{0k$-#{tE8RA>Ev>B{-kut<+Cx+BE
zmrJ41c)l>mERipeVFpR0($J8hpz^sR7|O%u8qr3Z8A95!BkuWIoPkvtvb1}xM;FT%
zsu`FVQ(KJ_y64>9;sNb8+Qrt9j$2x_+Z61<Va<FG_?iqHZ+ouCV8sz~fW<<{_1Q3!
z9WFNm+wnxn_B@|JIdmSSHD9iETvvf7tPc<1j2)2G1E|`s8?fPUkTN)i<BEb)49R)N
zbL0ZU`Fu}?QN2}r;we@N8w`*0bY6WA1|XT~as2>0g$*6Y7*02R={jC%XSYRNA$j20
zZmH@io`ut(mN?6Byz!hjnosP&ZgH}xiikUgivytdBoiH1VIza{xM1KME;3vlvH=bn
zr~abNQz%f)MD@mSeb@@^jX|Y8gG*@?G0Si>|DQsrOwOQWAb~PNeL(ho=R@Z;h~Opu
z%<j1I9u;CZg#2LD4w^g&&-rBJ(ePcDW=~kHR0HCXOyMen&RcEyf)p8C$E1O4xS>Ez
z8&p;|8O9DaT;<YMQ-Ug7YwgBpCNgy~N!$!YC^1I;+9cIhh2gLLy>o_kLNoUF!keaR
zhGy!aXwnmNg#Ocprl(Kr?-k?v{+`LM=vLg)9<s7__o|gNV>#{S{+^}lni<b&<%E@^
zRWdiOjLN!YSfP1YFQ?0?H$Nmb(^x+mIgw~k{A@0+A2BoQ7vAUg<(u!~WUFA2>4-VH
zKHlBy@B`Bvd-G$`QmI{`9O-Rvci1C;?+hm@LG92zpV>B-Liz!p-LV@@;d=~I@AbUg
zlnm*bv+dEG3}{GBu6I1?w0PCqb%e9&^2L8=6HVgoBpqFGJigXxZStUQlZ_hqe#3S*
z?7&fSq&(Lj>uswZ3Yw*X+-OqaL~cgS?*t8g-%)|byTTIR>})T8Eje|+%IIVidgC3C
zs8GEnR0Y9O?+_y9bCNXZB-5a$wWX#VX}bCoctpA+*`1_&f-KTdHM>GmiL}Hm62;$;
z{h1aTR_UsYfh^YOn&}!~1fwK%LmnZWg`;%s4>Iu+8TAGk84!dahe^WU?|ix+!RP?z
zE`q5;Nio%jQ9y^bj}wSfv)0G2kuUy=%db!=&b&mnIQ0?}#o3oQ{mWaFiisp8nIi5~
zy2Y+@lrDvdI94mguBJkV{Kg_OKEh+t9Z^lKs+35kRzE`@LS1&2DPW48oSBFxzWE*r
z?e;`GMGGT#Bl#MitQBXbW?$jcE}|!77>Ab5hR2|=r3i^h)W@UUV)%k=G*q!p_it;f
zi%*OXRlo5le9sug+VsKdzA-ahnf{>Dkgtm9#b6XyjLO-{rEBF|6{EOpphnPIl>aR%
zx4EZ?RWTp_Ze!s<`mBmOSR^g(J_QrFhoz@DDljUrEO1{SDPRgb5I7cIX+ghffwZ8n
Q9;5_v0+RxkP+kxJ0o97DTmS$7

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/ApiResponse.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/ApiResponse.class
deleted file mode 100644
index 5a17f40b3b3190462914368be00629c352dd9c8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3611
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
M#_2kz0ZtG80e)!lZvX%Q

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Category.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Category.class
deleted file mode 100644
index 630089b53ed2fe8e5c9966dd698684875ef7b912..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3046
zcmb7FTTk3Z6#mA0GiCwrZU}^gBu#)U3&cRuD@mJ#+?MW=6jD+`FENV)hFzQ5UQ}MH
zJVojssFc@ARr`>KR%)PXq>3g|ANr%3o@1NE&|HXQ&zv(e=R0S<b7tnBfB*Osz$g|3
zPT9_)X0IBSzG`~5U3Ile)if+mtJw<%Y2&(QEZWX`3PM0#*4K2cs#}ZNjrnDx;-wH1
zkW9i+OFMHV+gcnG=qWMwvf<4;x@ozZZdtacd!|kDWW8F|=c@)SODq~*kr1-^{=FD!
zB#>-^1Vte3Et#%BzYn^PfC)Kn={19ZBe2t+WBS3R$m^s(ePEa0a6uZaXk*V=f#f;U
zGQAH4dh-z^f0GeCH0+-d&`K4%rrpzB&v3q}RkdZkvf|oSgaB=V^qUTC!|~RcgEhTc
zr%+@0{+Tompi@B{hXiiz!(*|uVtZB7(w5h1nrV?wORs8|jeB~%>WvfGo>Q-Qwo}%f
z6~h_h09$wGDupAvavN+Vg`*rwyFx4+XX!9YCj=DQ-KuR-k&Hx@Q6juzudWM}_Yw7*
z<niRI3d#1kmWabNJMUQt_AT&Te&3Z6$>K}0T8u0SDt~PM8%U!Mr<l6|0ok(yb_F_i
zk`N4Cs+-jX!%5+^0*$ku-adSJbK$%UVmqm?(ov<uG8CmaFsF!Kf;g7O8JuO%xA#~!
z_VOyrciHkifz;q}K2Q|N2LhsB#<?_xkl|T69P*OxE{)Tr;a71njSINQReXt}HomUw
zRXV)w(Wtk5-w`<aq6#ird{$kv;-+ww@O8(y!Z>tiy#OY%_Xcnp*HKh(4HE*H?Nd@V
zJbgj;bgCGswics%P;jG?I`6Asm990hLPHB9LZr6t=M||_QY3ZjzCxd*HU(X)BFW99
z(l7J0%)R{df!w)ue^eS4m%6ix98;yPc&8YS`EuNs6Hk9gN@{XKRnx)T^=A)a{+K+`
zthNMecx<9iZS9hV2`&QU%OMag624*EL{3#{X=YSbvp#^h{_OkMM3b7M(E}t4lG{m6
zusqei9Tr(Dyrr(VoKoefoVpXDOxvVkMQwiibMhe5L5Cc4UD@7};ZO+&c^g_aJeO`5
zV<^1o1e&)?_w<S<aCoY2d1lQhT5G0j(zSna=P96DBdD6Tl4%)}_1e7Q+~TK!FK)Y{
zS7&s`WIY@_5n{~*NH=wdYLYI!U64I{9lm&3%d|&Vb6H;vv6X4N?o^DcCVM}$+ff7`
zBXpSKR3-F0@C!wZ%#p@@iux?S9ec*o$Up`^D4){`jb@2RBnrQw`4<u-d_gS(0Eh4;
zwdr61^(~}D;WJPP?EgTyy+B7^10?u%r)uYj$^^)D-&WW}S7G2WnhS%Ek^7Z~qOo=O
zkjI0iVQgd+lE4ygUBXvn*CEjs4$|M@(tJZ~#a)_g;YlXTZ|U&S^FlI*GEV3T>btw+
z-#&yaw$NSbPK4sIa$#U_6K@59>9i~ksaf&q<102v^kr~_py&||0o#4|KvO}8q}aqs
zHU=&0X(Z$%E!~w6@fz+j=xrn+YV0TB^~UrdP~g1VbJR2O$`eSl{?<5+0YbpD(%@NX
z@T`P9Z`VbhY~GafCiJ5aQgmiF=UkQ{=OpHs^9>9Jf$eZkZ%KoLv&20Un12Fob`!(d
z(G9%AFdKM3I~K?}>aypl*}zAPwNus{zTgKV3}=?YVYFUGnEe|~8yNoyiQ6&t*b)a6
z9lHC-H|DTTAU>Hw_eJrXj)+K6ND{Tjo)cE6ah5OR3e7P0*QjUiM+yT!VqoAeNDt9B
zum!2ieh2CQ9UnhLj$M+L^R-0$QEbO0Ro{^CD>}v4T+tHd{q_zj)UVTMiSkySL#&8N
z|GR;k+uA2ZOktWvacd63#iy8=;{(&;;x-){zisu~b{DdXCKpK;s*8+^9v8hX`dplH
QaoJz<nTrd)FyvzPKXm_wF#rGn

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order$Status.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order$Status.class
deleted file mode 100644
index 9e7cf40b02756187f5641364fe2bf68694e3b023..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2115
zcmb7ETXWk)6#iDe$*Su(qRp*=Qfk0<NaUm~&?dBT5(iw=B-n|;gqa}Q+f<1xc_i5b
zZ+YW?@WdlfN*Nd!PagSE3}<DNNycHOo{?62E_=>*zH_vH|MUA_0G99-!<^$DYEGNm
zM%(lq$MUp>WpdlsT27ObwCy&zo38kV-|=E#43G39qiblEVIOKmyVF|HM~JZeaG4=_
zF+dDqhIzf=w6v#&=X3X)mZcpTjbqQTHN&<Y%5Bp2G0B^b+cJEL5%HcGZO(9Klym8d
zI7FvoTZP@dazST^?&yW};)Vb)N*N5=t0mrXiCfqIRzU6=R)-)*+m_MbO$NEJvs2!#
zitMt{Zo5ubXyY42y;Lohg*r|xFuU9hyjQ3(w&_1)2xYQWDk5Di=zGNq!@~ZE;MH?I
ztoW{J9}>RXL69Tv*ImQ3y>rxi+Lq&Qbu5d#<U{UP`-NP~WQXG<a21nrNVvfe_Me#^
z6}&RQoyiRQmxfiMxa*g=3jM?-`ck%<z#F)wAcD6TCexh8^1wD){J?SPX_~fSrSt!5
zS!7@(f*JIO@a8kw(Fjf8IwnNT*%&6M(GAP7snHkt*{&b)hQFM^dze=+hXv|jka7Dd
zL*bILvLiP2-uW2omf?BJmvDPdCH`K*lgE-^?heDae(d-(WZDz%8%@JEsNYhn8=|{{
zi6up1JrE(p5b<_QswNS5&^u8TX-ZP0R7&Zc&?l)#a!fw`j!pGWmSi=oO8MSNo~@0^
zk{V4(Gg3Zu`h8SNh0Eh-l1xWu!g3@PJ)*<(%Jjxhe~2m~%@QLVnCxSmZ*$-C9hc7!
zt_m57jHDQZn+mmJBLM|hL{m0pjLAqPFxHnJ%NUoTCNSQYw;0l|^6$s6LqpQP3F$uw
zF2;pppJBS(v3;|}tEOkxEnYagvS^lW3~VL4dx<r?PM0jhm~Ps9tJA7;ch{f@465!l
z46ACmrjQ59c*Q)l=^l2;AyKkz?gm}vlt!sI9k;<ZO^dHCQq2)+Ph@pkP(YOJk|e$f
zdars&l7YAwHl)ZvqzoI>)QlK$3ZshOn;iCNAEob<NCX+L;TlO*lIn=l3amx{gjB1A
z{-9M|3#scbQLH`3$CX+*P<;|sOMTU+m0BcF=@IowU$tF%j@(Zah2e8rlQeHhJisk1
z<1SVR<TPfeOp#9`9~ulqa=&2qN7_ii5djXkk1uEybqkoUQ*F2aT@vFm2((K{!ooW@
zH~SK|bMr4SD<BNV%k}*R@kIP|K#JJCjd$pT*a@OSs09(;BvRf*hHwbT69FDT`5C!i
zq4h8)aD#mESUmHQ0xw0Ca=+nj4^rPJj4#PkA)AEHP^OOcGlZ~DdI^=F+h5a8Fc9O^
zn>g-K@$c^=RKf?r^C9m4Cp{<;rz@nzNBdwN9^%nHu6W{E^~AK$deg(ShZzrwhcOT1
H9t!^gBIfhd

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Order.class
deleted file mode 100644
index 4f0ee8cafa6bb73a1f79b4b0fe21e243db310fbb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5914
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

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet$Status.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet$Status.class
deleted file mode 100644
index 280b4167bab08ed0ed10f22b766c63fa92a5fbe6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2093
zcmb7ETXWk)6#iDe$*Su(qRp*=($;|OG?A0GK%2CUb1N>Y6Qaam!c34IHB}-@8Lgaw
zx4iK`c;XQ#PzDCZlSh6O!&%8>l5rTC8ELiW?74jBJ4gH1-@p9{U<O|>6g_`e^A0T6
zJg@`LbGX)WY|9O_wzp%Ev}Of)BQS#wPk}K!)c4FoQ*%srS6g;F?K%Cm{bwJ|GGx!X
zrx0hD)LUL#dv5Z;^1o_3+Me0k=bo#XuIo`|o3>9$Uh(|48BmM_e_<Y240kT#mp6nH
zd8cZXjm`Cn&XBIuD^<O+pf58_T%ZmH?e#LR`9!QAd@V2^nofr>r-?n=F`EwUQ)|n$
zrE2X7?TG&!+udb|8>{*feYofBFvxS%4A%}GF~kbRIvM8c6@7ErV7R??A;jvbz8Qf}
zxd_y)FvOk}G=0-{`6<G=R`Y^d$8pF?-nD{yg#JpQ*dHf@%NR~W!ZpGjys$Y#a;}HE
zQ0TX>_Nzo`SI;pO`k{05)nYw^w{Sy20yi0k^A?TbwrjSnZO^BNxHO%7`9Dvl8CaEI
zhD{;7Q-$J1=*-|MhD6216o#m`Eyr`IpJ&-wZSGmEU^au>m{c%<De7LBZ}mCD<8z8C
zUZ|n>PDfaDOwMP|;q{bC{H=thj2Xe&9fm=D-wSBGv}aae?wEl|y_VXCF}fL;SaKvb
zLlHuZ5oi0P+9C3`yGN=bjYx`=%PHL>`eYSJPRYmLu#xW3jI730soXs(vxNa!Qj<Ap
zOe)8YzfDTH`1;_9B$Mk{Tu$VYd*n>7OmF)5yQCu0%rL@%;Rxg8ffew;^R3C=<sd_m
zkrhL5U7<!SWuV}aXvvC<0U5ar1|s>Xj6oS{27{4YW4QVMS5^vZG#=5tM;p2Xr}hJe
z(e;iS*lnwBbDMtQ%E<*qGjy$YR&@{0IgKyUb;>ZH+pbmXw40W{5nTeR?zK#(Zu+*6
zd&;z7@49s7`s9+Sx~}Di9kwWqVt5_DWv$qbH9t-DCa5)u`B70m(X~O6_-5$6%#o!7
z;-UW_M+Zbm|ACqt6T?kmRPkGr!6xmK^c@k2Ama^OA*oJM6KPt3h2$TQ8jaZRw5kg+
zb@3IJ8!z$1Xv9O+M{%_psXjIuiBP2{)Mt@u)p&{04-|#rQ(Ch$Ygs(N4b0*$<_P2{
z#;8n@Pa_)|3M5KDVf=gANTG`W2i(VJw2Ha~%r~hvoPjQhQRxNRpd@i&U78qwg<GY`
zpD`{V^v5ejcD;Baem*2c?B2n<<RNx~s2Cbygtv*5_fQ}l0`gFZ2T*=Q=@)2SObFZ{
zn=+<PY^2aiQKizaxZ8yk*~IZVSt@iU;S;P=$D#}|Y>{4q5qA4a+6e|y7WF2LdsO`U
zTZmQhLHK-#`~ON0s>JCWY4LCijN=g=Z{ZRb&pa2?LhE&oQI0VVg=2tYkfZVsL^$gD

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Pet.class
deleted file mode 100644
index e16b319a5abfe1249d3f6da5f77c8a96da207858..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6141
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

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Tag.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/Tag.class
deleted file mode 100644
index 7b2a6a300d7119002c713acd069c79884d48a57e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3011
zcmb7FTT>KQ5dO~WZ5S4q-4#KUXb^B&zyUN@G*R)wk_8PA43dk(GQz;_44Ijw;!EO_
zKOt4VrYe;@_>fdZNX4oY(W*S;N5yo{49h@NNY%_a-RJV1?yvjw`TL*W{{S$8C4ny6
zS=Q`z!_wDH&$cVBR<4+a<!M!W$slc3Urs>?sH^&hu2pnvS-ZKoYLvYcVgiy$5Nc_6
zu4G%wqXOL}hFvwhMMpO+SJN%a_H@s*NuH`zD*9r@pk;|=!z&U(Hs7}&BaH--4UnJ+
z#Jv^M-2r{Qtppmk^r}Ia5yTnKF@3vIbl{XfePqv(;es@p(ZYvj1(Fv`%k(}F=*dTr
zeE%YPxUp|eKr5B)s&-FzJ;V9BTG3YZ@|tT~5#O~5(r-EBf#cn0_c!!PjZBT@`{vR(
zf_4RQ921y5#EHeyn(b9gOIzKjYNkbJT6#shYTVOn6>p4q_MBSTvz<xZSu>nbHn4eb
zm{K^gC#-=hDZIg^v?|2HDVC12)Fq&hck8xAsWBW?Mu_mTy?$R{{18_6`FU|*2v5H*
zeQb|2i0Di6x!p^F%L3o#4+9>F-78{Qj4TOKee_Ufr_qZuOjf^u?AZaG0&Tmj2SZnC
zW@X86QaGzX<8Y_wj^)jzi!zAWq`pp<k?zD`l+Iu$+3^an(KOECJmbB!Z)e?u*X?|V
zcfL!O44mT2LzcWRAo^rnNMjHgo~4T*ujuZ|7?lM-V~c5A!e!3bD`d6tRZXwZ9c_(T
zy>s>*fj3^3twoFPrE8Ym6s{A#?ikk?N8rp$U?RTPfzudAQNayN2xN9{#H8WrOS-31
zib&Os7*#sKjY{gGuYy&oUSf@gmWG8$Z9m8>QoE!`>h=SLK1po|x@JX^8%d>K=4qLG
z`PoCcefz<PG$gKcW)(T6N*(cbF%<LVxGyK3eV>%n<b<lGgSqkN4`cqAJkh8&1#5V0
zqE~J1kcJ2@0_4jf5G@k^#+Heks?yTTh^%IP05SgjyVyj7nxoMpBny&TNlvgl-MV8I
z?N->Oj<}ps<>{QdYobhU(y*d7KKm(ol<A-g4Ju8xw_-Syy+Pat*A365YGMqARgFSU
zS$lTP6F5FyvplnE6s--@HL0*)-Yxc29D;;tDVdfrRjV!<&MX&yuFrN^ugvL=$$B{0
z6=KZ=NVjx{(vfQ09?0(f2fln+(~L(Icv4>vv6UIS=9G==CZB$6??DlK4AT{kQ-aVd
zz;6(du|OL4DeANQMC=<&BLf-yZhS^7G@2z2ktqC%#-B-$@Hw>%035>?)TV<4)Hjh9
zh0j1Gu>S((_5+<b07!5Vr$lFqCJB&JzNN5*jza$vG!_P)AomLmMQv;IAx{NML)&Om
zNCHdjx`Z!jUz<cO9Hqa_rTMzpjJq`1#FI>x-_pIKSA=9XWsJ}h)OU8qzj*{%Y@@T(
znFz&`lZF0)ExZ{Rrqi-Gq(;T3j|*#(=*!>)LD5?o0=D|c0}TZsl41*|c{6BPcRe7d
zY3ZJThy%FGpr;;$=w?3%2XCflfDC7EFHq0KD^DTK`>t^q1B8HQrOvZb=UEAP-pPwR
z?fJi)H=qxNkfL*YIp?$tIVUm4oNr<vFl?7|dPeFToG0#?!2DBa^II6oj%?y>hS|h>
z+0j7GQJ1|)%_cr%tlhL`^98>Zp*izp4x{xj!u(%o*u>b6NZgL8Cs){@=+NEA{$@6-
z3-PHGIxmYCbVWppOp>TQ`GT-QjiY=O*Jy^hzd=27KV0bl0sZ}dLVASW{%uH;eC`1K
zzu}`t$nlY+<$Ns>e;nIAlCp15_!*sIY|dy2i++0tW$N$KXo=!Bxqw&^Q~q}ow|2CT
zi<rg?jbe5I!o??;Ti^@R<l;768^3M#+g2B{iv|}-7pjYli*6S^E_z*@adFjO^QntV
JzA)%w{$D2HcOU=&

diff --git a/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/User.class b/samples/client/petstore/kotlin-jackson/build/classes/kotlin/main/org/openapitools/client/models/User.class
deleted file mode 100644
index de1773c74acdb8154608a8aef5a42d940df41e0d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6313
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

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/build-history.bin b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/build-history.bin
deleted file mode 100644
index 2fefee2a909c5937611ec59451723ae99ccbb216..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 31
ccmZ4UmVvcgk^ur385kG~<Zd!lK=}*|09OA55C8xG

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab
deleted file mode 100644
index 370fbecceee5b601915d627182b12434cac64a06..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH@KTCp96vm(am}M#oZZ3jDQ&ejWO>KPuzlNJSxv5{k#nCU&(jYEEjnNW?4lflE
zG)Uwk!5jTLFZP0yyKoNN`<#28b1&!qdY8kjEDF&UM{bdnHl(JdSVWcO9<vm!I3n-h
z|FB$-{Z)Ez?~knE^cSjj`T7USo6=DTkEX#lbhf0{94gyV{tJo;sqqPSrpHrg??{;s
zI7>={cbj)tI(&m0)9x$O_oVa-oTsFVXPBAZ25_}6^(RnEONlX@WTe^?gr?!c;@_)g
ech3np0Vm)DoPZN>0#3jQH~}Z%1f0M+5cmT(yi<q(

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream
deleted file mode 100644
index 684a2e6b68c9080ec9339d38f8a2249442fbde99..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH}&q~BV490z-b)KQFd+;DDuHrdPv)ysq$(YHC>r?p$K@b!~5idTIY3+)xS1$p3
zYD+u(@+DuAM|YT!vzsBGVF}DZ{EVX8W2zXM1|;ay5%D}H@R;40Ay(+d3FCwo?9q|l
zLJETlBQglF%h04+zx8#%C@!I7eT{BTQinJ=0YA@rYG&^m2(f?fh^y6MLR5eKAL5iD
z3opDZ^ppv5fI3_tZ_ee?0DnUzYBUE>De#pY;I=Z15NrKqw}(=spu{%@H13Eett~#8
z-wiOY8BxJ^epquKbE240Q}ARjoP9i9V3u8!8I>A>q1K|6ufX^AG#@b&XJx-Oz}{K5
zZHk|ceKvsn+p)#5PEzpgSZ{T=>(e2{X=o?vt${rBE5Hy0E8?Y6zZjritDdc;V8IN_
zqJ$)7c7r0NI{0ppRox%#>8|Z&*lp5^|7s6^wH1uc1!L~}&Ygicdef@>s}M8+ZwA2E
deEZD++gM|zO~}f~?Nc!3vTHXR|JNTY@Bx`AznuU8

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len
deleted file mode 100644
index b92ca80caa0659b9a68734e5c7672abddf481663..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00F*r007bey#N3J

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len
deleted file mode 100644
index 8fe89d82d540f0f9c8b866f249f77e7623cde7a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00Bk?001fgA^-pY

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at
deleted file mode 100644
index 4fa36e1334df1f2ec8e7b6dca4eca0953e92cdb6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11858
zcmds7%T5$Q6s^SA$+%+cjzw>wqkk|NArLbTVNjN)=)Tia(o<DdRTJ>fT=)o}1W^e=
zjR^_y6HMH>Fy85xlScO3T1+yJN==<U_jT^Ah^+umz|5~htV}Y$tjzox7%Qv;=~lQM
z_ql$;vmAy_8J@yfz&=KgEiQ@1V0Iwk#t0XWm5kPmN)4Y(xD)tkQ<-h6c?>oh7%o$Y
z1{&m0<tBzm;ajf7LJATL$DJd~CpyEmaVGGOBMr{t*AQ(hmkGJ>jK|v+ciqZGmf#|8
zEiNv9j3!*jNSU<W)+v=WI|(^5+&YuTF30_bU<A*^3owhtE(bRfOn+&kyRiCbxrSdq
zj`}$)mdKw@RFY?~AFx+962^6$;IRQ2+Tf`_Bpd|nHANDpzU&VRryXJ}U=*~`8n~_&
zB?~8{jA-Wg;pP}5W(zH3YW=aO^A3AUkCJJ&hQ_8o(FNeCRsFilK9eG)RYt9Y)k<2}
z*waw@`Y~lV!#u`9wTfD&l##5;kuqfo&a;vkTHb%f&=O%Fo=OT2(DVv*vt*2_YA({;
zpqAPJGlS-Wvgcs7MCX~&igk?hr<VB=Fw((o9iHc4T_4<7CH~NI)S;>0QMQyM9Fp?;
zs{4Sa4~LGs+#|8_V~(AX;-Z!9tNgedgZ`KCNoSQ7qOhkXn#-n|A<b5m|2<->g{aMz
z56$AU4tql?L=-KiX_vBTXV4lz%%0!VZpQH)c23HsT4@I@tGk6WB3|fB`>-l&etLx|
zOkl+G%=PglijiJVNz`u+OnA?qV%igpgWQaSN8_=hfbElVr%EOCxPw%gJ%1eJ@D}r-
zj`?$&y`*7KU9B?_7q=qn%;Ez9mvihp4FclwPRZ4zUy8H;6lJuAu-5@AW7bzcNNNe^
zOV3b+rICjB{Yf+z0sBUorMmyWw2OD)EVgVKVc<jf{t&Qtq}ZtnGSq4{G5)y9?+$HO
znJIA|Kn5um%~e;Oc${u3w+2=?1UHazb?d>0NN_@}BUnX(fx(N*Wej*vF_IPM_ihCB
E7d8J4W&i*H

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i
deleted file mode 100644
index dd1f4b65dd53913193b6ec9d909a4f4977a35db1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI%u`7ge9LMnog-mpm#Udt)46<0vN)p{An@u4ji@L>VFv!9r${<NbF`QV8Hj=@j
zWO9S}mVZHy-?`T<w>_Wt_q9BAmvv@MnGXR11PBlyK!5-N0t5&UAV7dX%?WHqaba+B
zD)sQY2pk+O45Z$v??+%gzWQe?BRmKYAV7cs0RjXFq$qG7QOzs+Hz~GhB0zuu0RjXF
z)RRDKLzYdywT;))&2A+?fB*pk^&+qlhn`Iq7wYBSRPOwUkdvOip;UTw5FkK+009C7
z2oNAZfIz+i-SNBoSh=*E@2WKd`3k(nTw!AAGv8Hf1PBlyK!5-N0t5&UAV7csf&2va
zV(RqasX4zzOMfYF5#vWQ2VZ~LV4DB|0t5&U_+5eRc-;Hq*3R!f)zgv{i2vy?S9j-<
z?Gr|T0D*rla1i%Z*NTm)pV=Poi|XD>IrUC`wJGoz+3T0LtF>9Lng9U;1PBlyP<sOB
zk=!wSHJ@tvafG#uA68QB(?x&)0Rm|YTu0u?bMI@~mFfr($W!1Y#!6j7-Fa@>BJke@
Fz5zm>FuVW&

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
deleted file mode 100644
index 9a71d23556cac4de8c63cc41ad133aea73b83225..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIuKTASU7{~F)(k(1-2$G;7XzB&D1Pv}$L!-1tw1k6eLqm&;bKnvUO@cHvL@%Kr
zq9LTQrOe9I?2mr^9qfWrYs>S%y`OXMxm-Bk^4fXQG_&Cr&D3zQ6EoY_5>0qB`i-_M
zT+xKRrQe6q_tE}eUg`hy`d~(8<yIf^vf6_q+4zB)T$Gdg`Q|q)%i<Rl<k=^j$cHZ6
z$&{QJGh6w9b(!x#Q69J9Qr@;8K5jNGGcxxMd$Qbw3wi$r&9E;Q;$|DKkdvhsIFL6D
zsK~UumfO$Jlc#l<OPKYabPl;Hcje*Zu%C|L;|08c7w`gJzzcW*FW?2dfEVxrUf^E}
F3;-}Ic$okI

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
deleted file mode 100644
index 723285bfc4100520516f229f8ff471d36fcb5703..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH{O-lnY5QhCNRuL6~UwF`qvU>0!m2Uk3A^Ua>Y%_6^73;4zU0W)JcBhE9>}}zF
zCX*+_42Ww*9!`53iJG8HW8tDo|3SSV-g|qvHB&}nq}0LI)N25z(AlPtbraSha%*DC
zP$^n;ecbE{sDh?mJ4^0Th>j3Exq$J^LkXF(H3lJE3FA+0LOj(mb)}mNAv8i|8D<Vi
zksoJ|%*0Zp1b=`#<WAUFdYp8jU(dBPcq=a88*4fp4`@*9h*122RVCuk8C(l%EHr%@
z__<x_z1OhSq)E?RxZd^LHEeaRbo@qmZxLcaZer^lp=ZQ5s?LRGQ>#`t_6vNniI`G_
zv}V!}Eyw1lCt9TWsEKDAH_W2skSp+MPq8kf%BW)-_It8v{T=s5gvG|X9`qEOFUh_9
XWdqqjHjoWu1KB_}kPT!5|7YMErB5)*

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
deleted file mode 100644
index 55d7e48d140bf665ee6f630c52b8eb4041d3a716..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00GvC005%^mjD0&

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
deleted file mode 100644
index fa432244558c364281f5897ea3a81444683a68a6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00G7f0043TY5)KL

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
deleted file mode 100644
index 173b53e8670138e83cdc4aae3e46b49d98a620ef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5659
zcmeHLOHRWu5Vh2c^a9{BpaOygYSr>tkDMVjO+04oAi=5l3j_iLD_Fpln3NXrS+PLi
zD!asTChyIA{>*5#f{-D%`)G)>_A+t1ha7B(=;8{5;Trf&C@LI8V#x7W9qElAGxQL7
z4>Mr4(G1Dy9#hUxmJqGHZ4r-x2ZKR(8C;IK>(LFUVuPCG5xkwt(IJBb)&WXi$Xruc
z`LFgEgAAh{Q7o*R+W|8Q5;d^VC0I8Z*TnfWSR^Xmzn9=a_b@JaJ3or2>LeA+b(ZlB
z^@%!81$AwRH_*50CIQgaZ8L<(m5G&@OrUqhz7ww`PvE7co|BYd^^+)l44zy-k)&bt
zN4x0vWzuN$-%h$lqyK*!`GH1HE%lh<?(GX}#uvXuEHH<NK{oE0B6F>-(i3KhnYfms
zK|ie%ey`~Gvdm{B_YW;~pPupixLaX}9dg??7yl>CVh!VvGGTGoQn%@8F+jFZ*aKvt
zaH%d5U{F$q(oK-U@IxJPuFled-jOpnC*GHor_o55q`b@0jY<{tkvdGrA<`a`JU5Vk
WsRcRl^E%YWPa0j*3FNw<63nkn{G^@$

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
deleted file mode 100644
index a17670a8ff12ba23078adc25157efdd57ee3f00c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)Pbh<N9LMp8Nt`$c2`SQ|<X=(_hE^*nN5_>vIf+t)LJq@)16nO{KvR-Z^5>#V
z?cm_(X36B}KrOZS%E>|7>gjp*+wZ;0+Ouch@Avb1+S70A=`kt{hrt5@1Q0*~0R$`+
zsLC>omV@SMOPkUR0R+-oU|psQIih`OJtV^+fPm5h1G4_`x|_U8htP2NMmcV=r|o0i
zqB|vbm%lYvx7_4K00DgjTymZ}>O36MCoxG8K)`MRkDPa+ZTudv`#8`a0R;3Bc$26%
z<>MiJ5|b1G1Q0*~0R#~E6*!Tn>?@xi4+Id%9D%SznVWVmr+cCY88CkNSeEW{G9Lm~
z2)s&@$<>t$D|*qx0s;Adzt<D_u%HtyOb}?7<F#>mR%${iN+5s$0thG|upl#zxWaV`
zjLL`zAb>zh0{ybC?O3ZhPw7MKjKDtvyRyC8=NbIxZ8j$<P$=Ka@y~be36i82yCHx8
z0tg_000Id7708qIWPW_3<nLBqAz-dRP|D2(wtCF1N;L!!KmY**5I_I{1k@6U$hh-M
zcMWPy&9n$0fB*srAb<b@2q1s}0+}ihlVFR1ov}>KM=omx{L(J8IpwsrE8SET__+|h
z_+`Sa>ioLR{c|IUy_v6P-Exx`0Xqe*rFnhrLcX0dn9<uS*QMQ7#`evqMGXWHK)_6a
idnuL^933{ZCbbYi009IN3zW+Gu)s50lz30I_xJ`f%|!74

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab
deleted file mode 100644
index 9589163320257bc1d47408228b45b4e867b56db1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmbR3vzw0r2pB;G3<y9N9YCr9i2nltNCa68h>gxS1t|goWO0ZHe)1gDeEh0LWk*9`
nGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n$PEDi_PYwp

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream
deleted file mode 100644
index c0e36ab9e46a26422cb0b690807dfcf4585bf523..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIu(FwpH3;@w?l&(-ZiAXE~F%skcg>F%}`@O$+dOYG&N12xHeM#-6BgICGvNCqf
f9V*wf`x^%#fB*srAb<b@2q1s}0tg_0z~2O3?~@Zt

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.keystream.len
deleted file mode 100644
index 1c209ae2a7dc1bbbb98f55f92e253f91b6f5ef9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz00Tn+0673M

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.len
deleted file mode 100644
index 2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D}$y0FVHQ

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at
deleted file mode 100644
index 6d1a52af89c80c3b024e27d324c4b5b12227966f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 529
zcmaJ-+e*Vg5Iql~4=O7DK>UEvZxFQ<p&;Jyb=ZtHvTed<gVlfaUpzCUASG=EmYvMG
z%}y{=sWcUj8k$rU(<T)Un!38ny2>-@7ISG|CHDH1n<O9ldjx)V9O4>*rD%~4wtuic
zC7?&f0u2&s{6N^%>{bTfGv@RdHwGj@{d~qZebk62TcZ-gkh2R+-EE0mcN5GhP|;O3
zD3iFvlF_2aX*o)~P4GTYOA;)qIC3NSLR7>Z(}Z!+D-v2(q+4(S-<85^l=$*0|C#hI
mXzK+USDw?J<sO}{KAQY|r^)9)vj=+PesMhI*-nAAk^TUwfn{6(

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i
deleted file mode 100644
index 28d0f1a654db9847fbf5e5eaf1f509e47abf970f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeIuQ4s(T6h*;nRFgp-*(gQ`UvKs_IGdIp5g<T-009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009Ce1=hP7bDxrPrU(!q
bK!5-N0t5&UAV7cs0RjXF5FkK+z-NIArmzB}

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab
deleted file mode 100644
index 9589163320257bc1d47408228b45b4e867b56db1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmbR3vzw0r2pB;G3<y9N9YCr9i2nltNCa68h>gxS1t|goWO0ZHe)1gDeEh0LWk*9`
nGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n$PEDi_PYwp

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream
deleted file mode 100644
index c0e36ab9e46a26422cb0b690807dfcf4585bf523..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIu(FwpH3;@w?l&(-ZiAXE~F%skcg>F%}`@O$+dOYG&N12xHeM#-6BgICGvNCqf
f9V*wf`x^%#fB*srAb<b@2q1s}0tg_0z~2O3?~@Zt

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.keystream.len
deleted file mode 100644
index 1c209ae2a7dc1bbbb98f55f92e253f91b6f5ef9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz00Tn+0673M

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.len
deleted file mode 100644
index 2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D}$y0FVHQ

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab.values.at
deleted file mode 100644
index 74a070ef89ad30d93bad186294bed88cd83f8b8c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 670
zcmb_aze~eF6#m4?LD0=H;G$E&jyFgZN<>9z!NtXE^K7Fb7cUn<-CP~}ANUveXNkL;
zpx>QBtv1rZ9G82Sd++;kFEJ9)so1D117p*uV{CLRw#q6eg-dibI@INf&THv8WA#v8
zmcVC`Gl7MmLJ5O{t6+ywiW_X;fYBvJa2zFCh|z7xRm{DB#x-Y*obLidMm<(qWMQYU
z*^qUFKC1--W~;~c>H698c#Yb|LE9DT!0Nsf*??@QNQkSsW~?(DIrYax$@#^fIqp37
zIdL@4yp}q!)B*X^&jf#$7(P2ALzAN^t-+BYmiPKUirT@?-XE%e_CP&sy)O3`-tT#1
go#1QY=zA|`^=I16ygi)tSN!Hw``fEeZ!34VA8|&E;Q#;t

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i
deleted file mode 100644
index 28d0f1a654db9847fbf5e5eaf1f509e47abf970f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeIuQ4s(T6h*;nRFgp-*(gQ`UvKs_IGdIp5g<T-009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009Ce1=hP7bDxrPrU(!q
bK!5-N0t5&UAV7cs0RjXF5FkK+z-NIArmzB}

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/inline-functions.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab
deleted file mode 100644
index 3927e9fc2c2f68f79172771d97ecdd2ac9fb8773..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIvzbnLX9LMqZaY$EEHU@P{S)|)!V^J;!BNl_jl|^O}1EcW<U9n1rOUXZQgLG0R
zi(lu*ap&jx`Skk6)lJI&e%JT=_<p~iPv5>hzsdMcgK64>Q+XPHE;d7Ev${kRJgMBH
zB@2%71ZxAoH<i!J>wmeY_qS?8v+R=-Uoa=vKVeH2Kj29A$cSFP@D5#a{|&}vi%iPl
zS18Km5=5)aGA}SD>t#yzKf|G%d4h1Y+1ev?%j^Rrq{&s;c@J4RT7;&s*-`<9<nA4;
z$igjTWK2eC%%=0uE7LbHFH6_3En_k-6IaktYnHl%5qX@0McF1d<m3e$$n?1a$dHWI
tnGK#nTqaLpO6E>}{)4{M#|wA?FW?2dfEVxrUcd`@0WaVMyuiN-d;^2?o38)>

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
deleted file mode 100644
index 3e846733e62108a00ec1617239cf84d000f4a455..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH|O-sW-5QhCF9&|-iuvSGx5iHSzl%h0#oY!QUE~LBb>_n=+-ffy{o3eH+cuOFs
zyzflrnVH>9gIUX1(9$Y0CU>olwYf?pDWkizz4STB6=-UCxobTDb*#DyX_OwIbc97h
z1%eN(qS7p0hM;@WTBS306mrjHSTOATYKX}o_)Nzv)k0wLtL4c7`nYY5Xd&!*$gzy4
z^Xh5IWP;vx>1kb~NMRt0oO=FM&oVC{GWs2m07W~<d-->!-MZlaM%CWPjI7kYh-iJQ
zn9i9vK4He_gR>qRJbqX>WP0KvNx->Nru<G1435gpka=*xY8?BJDulA9T+0;WEuulL
zB?j~jE-ly0YWy(!g60-<M(~my;QOGsfgCbP;P@S1_KFzjUMFzI%wJ&|CtxQV!>zk!
z6W`Oy&0DelYu=jeCogyW`tVkOBfrZ7mHpAw0~(r?+u7M9+>Qyfo1R9&gReI4zDy-^
z^$EBi>f^|yP+l}@mS}f{H1e~R8T<$y(N)NMOaTv81S>@%CP{_cTA}qf+}>&lGuWfd
eg7;}vz~q+MXr6{ZL!cqh5NHTA1R4VWN#G0A+xd?G

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
deleted file mode 100644
index 167eee53012f56c4480c8c5d9c0ead1d76efc0ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00H*N005}~n*aa+

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
deleted file mode 100644
index b67c22714fc81ab1e8e714908a8527742ca907c9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00G7g006oGvH$=8

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
deleted file mode 100644
index 7af9d581310d2bbff463ff0aa13722a403b8cd87..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7371
zcmeHM&2G~`5MIeIk{4+A8KSgRIaG-fe$LbN)Y-<~U1rw^c&h#)5Qw4{ROq3+663^;
zC^>N`bRyqu%U*x;eKWH&vs&#U<Vd|S8c%s|$5U^F6m3lC(k{g59)#ym);LL?puiJ#
zte-`GLr;-jVGcw#nW=YrM7|)XDoB>^UU-_t00yHT61W2OFrb_Gnha{smk{hmfes0H
zVI83gCBJJ*%m38@Q{=~}XFiqIZ5)D`MP4<M(G^(NKG&X#yTy|C<?{P}2&FZ1B%8A&
z12Yp6^$1fxSjK#zJ`3R4x&wlks5Yr)wHW$fE}&4-&(x^^(&vuSgd;9oMJDP~bs~l9
zCf_Zn776-WroIZGdNr5y_c^tIY4(%I8D(AU5TDvR1O7=7vl<Y~&Gl!dZbgRllY0fj
z7-QhrMh@=IqW@GXuX<Uh(PL|8I*lHG%lQ`?-DK*A#O%H7skgAi0unY=*;*O%Nqv+j
z%r=pyMv4yo-7x6kCQE;W`I>Nlm8na4jz7kiHO4gX?!Xr8|Dvtf!!-3dTk$<p*Alf@
zl=9oJd2k%tj{QrfF65aqL9$TVw@9qU2lZZn1(nZ{r{6rJ`mLpUr_SX-A8<KQczVN>
u%NVk?ln;qdPo#oAR!4F?gpWp;=MM4%9htTM{1lp<RK|%}3%ThH8S^i8(m_lB

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
deleted file mode 100644
index 73211a26fa6b9a6059b875d4dea673d4d6ae31b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)Pe>GD7{~FE5Uh(LB1;%{Q9P=rEkcV5yeSH5UF?vul!bK?WkF;Qdx-K6h#~$#
zN|p*Tx<nw<X0akg#|WZDN{S%1L(##opTr(DnVolMmiOyr7-rtz^E{t%cXk%hsdWxG
z27aC?v$g+0+CVgs2q2IZC~}<pud4oJciAF<00IagfB*srAb<b@2q1ufy#g2XJwea;
z)erUxFgXGUAb<b@2n0o7WT%n#Umt_g4}Bnj!0rMk^&GLD2#@c6#=j#8ZRQWh%KvvB
z#}PmP0R#|mBe0<RQMz*cjhnTsK>z`N1fHnu_Nj+2{i#k>1oA5o(S7Ri&*mTbtx7cn
z5U@d@Uhglbqp2PnX5DMXF*)>>@I0`W5y$KinAYo|VWoPrP$$l)@zI%heWCVG--Ru(
zp!PrYzrSO8iZ;DYGeh4-P1hkG0TTjs`u%M>w%KhWn@sltCAuzKp^ahp39R%&phefA
zqkW*%i>zESzG(5*p_?yq$zUx42q1s}0znr@=)QY4I$`90+ys4goBKPe>%M)xYRYDV
zAkH4rb%_q&o(*De^n?Hc2q1s}0tg_000IagfPifR(;E25a@|GS=JtEuu)ZHz&kXft
z`-p3Q@paSF>^|FI3#8QE+U2{UV0TG(2q1s}0$vNG75M1;WZ3Imw|OJ_{7_L7x$1Vk
z>2<$VV5%>&YP!yT^ULHFYbidr-}5;S0R+qoyj6)aok{*~(LA*$72YZ3#)-KuPr?X6
z009ILKmY**JQP?~R%|VK(8EZgauDd&^Y^XPwaFYJSc-tP0%MxI`O3XUYXJ-mKA`ud
o=U*=^8Hy(s0R#}RP9Uy{my*X<{2qKz@9%>}pEvyOBj5G^0@Pb#rT_o{

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab
deleted file mode 100644
index 9d08a3624d7371fad9176044c5e824a3f553dd31..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmbR3vzw0r2$(?x3<y9NGk{bB5dQ}PkO;CGMj#)AVE`n@3gsY+!{qVN=YZzR0~MSG
z(h)%V1k^r!dPe0&Ltr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz5qb0RS9G
B614yT

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream
deleted file mode 100644
index 79ca656ddad761cb07271da9792351f272af7fa7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIuF$%*l429vGq*w47=#(Lox8A@pN)Q-HSPJy`b?KNTL&vA>A^zoiXg`t~Nih!9
z=4ml&TuZP@j`{MgjY%T0?7evOv&PwJM7(Tcmip~H$Ma_RBDWFH`VJERwG$2k5P$##
VAOHafKmY;|fB*y_0D->>d;kTPI?ez9

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len
deleted file mode 100644
index 9a568e9309b6c9894e7c66f76936239e410ea0c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D~z20Gt4o

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.len
deleted file mode 100644
index a9f80ae0249093f1db8b14f71053acce35747e3d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D~C-0H6Sw

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at
deleted file mode 100644
index 33c7d6ca799638d1815cc94c15997eb434b7d667..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 58
zcmdOA@JLNeNi9+cN=?o$N>OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2>
IWMG6K07@GY3IG5A

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i
deleted file mode 100644
index 94e43615882bac166535bc748a7451df99d21b80..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeIup$&jA5CzanIv@!W!vYL}L^23tum*uCswuXbR=soo#Q({Q6e$|qRyv2}cp6lz
zBtU=w0RjXF5FkK+009C72oNAZpc2?io~QGw-XZ}41PBlyK%l$8`Yn$6?mldg009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
Hzz+g1{dfpx

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab
deleted file mode 100644
index 25bef240969e4b5e4f87a124dfd74a3c4f5b4270..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIuze@sf7{~F)ehooUL*N#H?nV6pL7M~ytql#9<PiM_wFFIuOG`C0^dCfvk<gGs
zWKcSk^h<~cu^|W~q<5dg4xHNBo(Jw;clZ5r$GvxF^Mj@t3r^t-wJ)|JW*fRh6FlkM
zqa_QDaDuhP-<!_o;rd^e^!`z8$jTX+X~Bv-`+}^TYeG?Oe?n8vf54<Z5`TxZoNB<1
zjMd>nM&ICDuD-%Vms#osQnFQpLs@--XPJA1c(>W`JuJw2753%0EX)2o80j%f-a<ld
zR$yK3l_4(=ZlEC(*AVSBTfTy6IdBO}GE;<{OrFD$tQ6ou7EU43XSQ~t@5|b8yRUxD
d#|wA?FW?2dfEVxrUcd`@0WaVMyuiN{_yH(Kg%SV&

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream
deleted file mode 100644
index 0e8863faf00b2ccf1c41df2d4857daf142d3d20c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH{O;5r=5QhB){sa$-F=|5niZObTR1St148^lq+o5h;cGuad0e`(qDPl0CLp+%*
zx6=2Wk7uT{V=#}51ud*3W0Z?J)+(6_l1BGv@7L>8NzfE|xr-iwI#%wl)g)vPysEWU
z_2dA(=&DX6^$3L{EK({Ee2ud6;vYpiE7SGpgl~+?2Cg?Xv|=;1Li=>*OzQxg^~J$(
zYN5^aBt@Ena~Dkcy&f4Hm$MS;jA<G`CJ{<<T+5tU7ttWsk^p`HmX=#)VScK<p&xTz
z5WHar_+H&RP>>4(7yrTAN`U%0g-d3P3ezM7JKIZc-z&D|rg8IDtT)ZOVq50ruHOLO
z3vd)0J(Br`rU#%`lW`}z*o5wcK)d-jf6APSZ&L~-KLL;G9AlF~dHUoc(LsYW_PdoE
zoYtPTDr6rsz~hEsrKpvVpu+7oX#LGSY?d&C4Mkpi;j0E_mwCJWW=Ki>?EfniY=vJS
U5C{YUfj}S-2m}Iwz`rH%1#KL0fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len
deleted file mode 100644
index b1c61efb430c2edd7858c26c389d6ead81b91298..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00A}=002k;I{*Lx

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len
deleted file mode 100644
index b797c4d2ee86fd517925c6dfd186e4c359366499..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00G7h005EziU0rr

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at
deleted file mode 100644
index 5ac90143bf1f50fa9817523e2b42678109ec2d51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18862
zcmd^HO>7)TcCO*f^z`)nusK6g6h&FIL`jrniL<oVW<+PPq(qsdDU+rsS=j{ww8$no
z@^EG{({wB!7lwVvVS^m@utx_7c+DXTY)(NAHu87M#>gqjBG}}xKmz2F<d8+a_o}LY
zhSQp%egH34z-X$gYpSZNzW3hu-mB(}SazKqw>7!xZZ}#xlXn`e$ql#FuC_h5?kzj*
z{ku-{fm1tl?|F@uv*&(CB!m#drX{Qad%zOohAqYiDv2Xw0QE_cI&i9Wlumuv@M_ii
z^``5!@k{smV`uxrcBB6DJZ_4__3u~%V*~u5j*8ZRi7V<**7H?X)ehksWol3L_!eVg
z7K1JhmP`}B!UU3E7z1`{wP>etVaytK2H)oDn4MME7QS<{rkx*8jU_6{)pK@X+$^O^
zXjLiB=Iudsm8=x0D;o`lA`MEN4T^S|#=uzIH^v@TW6814+an!gkIJzzi$OJu^Y$sU
z8Pk2>&S}5RIG4^G853Bsv*O}fqqR5FXu5T$S@jx?T6<=@R>dyO;JQ7t;d%?r>b#hZ
zZC0)Cww$)tI^6aSTkZ^6-{RlT3-giFb~hYv9|Mg{uRV4?a%O5yeQ)NT*Q(a{=C3>u
zhO@JSA<!W8sIl`zOvMg!(AaS?H#D9XSrlE*r5~o7uD7y--y4|jyY3TV?^f&7Wqa|-
zJ<stD+jOrjOE;&#-(?ox?`zCr(C?PB*A^*{{<rpA4}&c}!5p%O%^gS1YRE5sQ1$kK
z{sWP!I|r_?4x6=xvva3fbH!`D#>G-@y6tA8-gf6j2`g3gs*So+yX$%mMsh@Im-;En
zXR0=4sN4Bi8To~Qr4ZtW6^VJmdqhU0tW2Sf#gOE}CRs`LCl$%nl5LI`8T(28->PJR
z-W-saSCUh}bx~ap()SVMT!<lYId(0ut!)4XvX13=X*kSDM6I`=v@oFzl$P7Vp60Q?
zEA@{c4vp3mT0O4eX1wQ@V&|>!%1!6-JF8i9wp}@Z#Cn`A`_C*7^v{=K_DSk8+B?!<
zR)4!=uAWvpD-Ru}HIzj<DTiBmY=!}Kb?jCV`b=s*+P5V3kM@nUle`|aZK~JT_#WbR
zhF!w9u{z4yj5H^=$2V)SBV!m3IU?fMkN5q4+iktfZMU{tE<~1w!F1%d#4AL#rPO*}
zoDP24CLv#FwVWp__2wZdvnx<EacVW(3pC(ZM?Y(@k+K_0Vv;9k9%4||AO#?jsurKT
zM+zldYwT6)vQ5)zw|^hV6&5NRhun-b4rwKB5r?>6S!8|_ci+@@(hl28vZ86AZBp7v
zMjh#f3DzGMVXTW0b7+ijLg*#Lj7t7|$`p11*ec4p<w9i;Fd*Y*%wB+<wa3qv%B7*@
z!WTx~Ov3c0N-5KvPO}a%Dha~q(D>aReU?tt=lL7p7w1YNr82DcK<vO!gyShQW1ClR
z*yZ!Xaz-Vq<Ud?xc(!Zpkud@ojEeCcch@<rd3W)tGU2(^fI4Y;09<KJl9`!1hxKjJ
z?B60iF{*1foEA114QZd}mHkLnJ@){u&H@Fu<GVgTeMNWk_@jfFT{S>EJXCqRQLDK;
z@NKtNJwVSbVF#6DwH#06y+$y3jGWjKX_^Gt)#QQG6dy#4>iVO{=yU$Kne8>7EAl6Y
zUbQwuGC*rl2u229L`58c|5wsK^QKgpfG?>>0&YsyD1xVnUZfuM5cTHhn3z08^zUZk
z)MBAzg!$ifXf3N`l)&+pvla8a0Z3=Z5(;v;Sqm_h3^1|$sku7MO0yVh2Bo>2oh4Su
z>Jp6@)vGt4Cb?6;t)`M??$nmFO|>6hwVC{l>VcP2n?rh@602$3I5NhtRHvVbvcdEb
zX}jO5p^F&KMx19+H5vxcj`2E?X}Q05=(atv7^?-3v&NMOj|_+p09R1`L3Vbld*aQ0
zd)<`NkUxV6F~!WO&K8Mpj;u94-1ofZ>ock?)y|8|cB4+7ipU<gJ5^`vNz)bcVFnuu
z^DEsu%(oPg<55RLjU>O5!@fP;{l@Vn4zIeJi?F4pUpVykS$B|xW^XkPnob?cC02HR
zNeoOR{@^uVb|eub>B&QiF5(;NpWP%aO?mS(%?dLn)F+&!&7z%zN>4rfbPLy(z%}_y
z;cKJgnwUWNzS(h2K34cXnT+6i0tSJ6uGGWN;93<~Q|Ijh%ndlo=2-}u<f5=9@WxV=
zp)U+6A|<<w+rx3UM{s+>9>rLv=8T7*r?_ueq%jCu$~<k4Z@y}u!QF|uI}bnq6c1mr
zQs$)nDw>?-Ca>7%(82j*le@r^o5JKK?2E_lUgEo#?ZG2s8vAiYyxlL#L6D@!HRW$M
zDbM6I`Bw|u+isI6Nr7<DXjMOP$kd1&gn|&x&>kXPe;XdfT_5dbs)8C=s&5CCg;luP
z!Das80elfHA2|m@wcA^b58b*bLPyZh`ntQGD7K@mVib;c?Eq)$R{D8ETJx~QfO(h~
zd2mL!fEz7$xB9Ud^xLY6%%j6<jrjd5zLc$hxD4S}tG6g`&x^8ZIOWvq4S0@NFX`#2
z7Ge@(YrWCE3q$(Qu;$&`!JCu!BO}nm$*G93m;vU+p!y+k!#(giQP75U&G`hH%k)WL
z4&7~NMwr7&`xgP3q&CD1nORaB|02%P{znp665?%W26hl_XormXSpr^&Bt-)86Ri^-
z!+FFfg-;qE1E0(hY$rBSe7j$GYfC^#Wr7se!zz-n0;p&19WvlV0hWZh3--;aiQFb2
z+LA;Eu;<vsQmfTyiQGN61uiBp;vV?#Xu3lDCH!LPF|#5h{>xsnP5v@eC9~t~n7B%8
zHzC(z8Psy|bubAi#yP<;r4$rL8X=zn+ZdO`(e&x0S;<y1q)V;Mvi!*xhJ~IBP&+w0
zzj-O{HxGXVB_(wmslH*GM+w#1_Rx`0!c&w*rQc;&t2s}E??ssL6h|y98Hu@tU=F5}
z+2<%B87lgBF}$<Ns;z`*AqhEcG(bzrN<@{4HiM;*wbXS)S!6`AExITU@~LF7h$jZk
zxe{wG|4QQFFT!|`WRw06FfnNjm}Wd4Dk;VThZPwQ8HI<GkB1cSz%<dq*2mlqZ8AY*
zSjH(swFSEfipZ8(V`R{_kBlL#cd36S6%nZyh6#m+E%#%xP*1@|1Q}Z9k0aw5wmH~(
zo<$T=YNS{!{JV^({qgybZiu2lYX(sAW18U_BY?Mt5s+30$oL4zAc$;`M#usIF}Fi|
zZP_^>K(eqvC4dth8AYt`pm?KS;SZ_I7roitMZY}VMbMvNJL9zYS5j*Kdb(q$q@x%}
zt=_M0lKWPP+`Ob@ZZXoE_4h7Yv843oSer9b)e?v;35j&aZ$cX?wK?mEP;E$?_r0MZ
zv-iR_RJv17mD>~PbasuR0{9a2_b+60^_N#WkN^h)`nwYkq{R_oJtn&g5iAfc(u@m(
zals+Z5+#YGjSuVeT!n+Kd7wi5M5BUK^`*Gqg!Ui$`#7YA>=I<32M#qY+rv5%)i+c^
zr09h~C365z0BJsGp*~RaR+tAU9emuVcTpI`44xfDq;Br2c}8KV?Lc5Gdh>*Tk{aj7
z(yjKf<+H~yZ=~p|38W>>OFq^Hz#S<HrA#*fwmB6`0RIF8&;U&&3(#ThN!OG(_&)eh
zHw$Ty7eVd75Rn(r5f1h!pOM|qApjDSjqC^*MZ5wcg;6Tm!*q~u816y5MGn_9jNCz5
zP6Cjx(pWVizBkN@h*VDyolKiw4#>RD&4lT@Q>)j223v+9D+vl~ET=0ej<2UVS_lXr
zK$#}S06&Wqoh5#|-{)FrHfz;w_I42uX6Lf)#}P8{4cF`2F4Dy+Xx(ffXWa6tZX2O9
zXXk?!g2EfJ4sIwQkyoK_j(UsV3d^)o>wb*->3wDHsj=gX`~OLm{tsc5F4r>&!OCG>
zb^MClHW}^3@+zgS7nF0B?6M89a!=7>&Iww~^y(DlE9T(is-RPH)<VG7C_!c`h2<Y{
z2&}mJ8Yjo>?yV5BMSyEgsMbRWkWoM^^Y90BG5`THN}uwOT$937v)XH0dY(<3QtQXN
z(&zp`o+H~AiOlHjdw@(p8=V7Z>5u3z2T~eAFj(7e6S5{Tkn#4b?M-(VK?(&FF|Of+
zm<=T(X5I}j^xZCyiErL5B5DG)a%dqIPSo4+=YWoh!{5KANRY+vj7dqBVFCmNNa>SW
zPjhY|D{~9k#WM^q1QY4N2=fK@*9m9_w70sD{yb7oM}~#Yb7HPv3@EPmF$Mk*0+|;R
zp{LnAtb5f1cPY3VvdvKsY&5)L+UdeFbW?JD#F>A}i!@h?sym!85Kjpv|3C(lj|@_l
zM*o3`jy32K8MP7isyej?bSkM)zrS)D1N@q7uwrPz7XAiqaK{=v=LUZ@NZ?HT`5Qhs
zA-fSdMw%PaJPBzg7m;j=3;|N+@H2ReB;1SdfUohXF?`EN-!Mn|WFkT)w9}Ogd;6yH
z4br~HnD*m;t64rhkzD>Vi6R{bOH*;gPg?k0QS}+*1f`$R(HGrZ=S&6+7be0};}TD9
zw(I0(DL5H3x#cett7UbxOdlyrEPqXt9LFTjEPtIqaf0XjbplBiLnT@K`D$N>f>j-v
zOBtz(Xg~6FF2qencQs_=6wz61-z)uxvpN!kP%X%`?>BZ%+yjnc;b%xKHsvw55DiTu
z1<GfJswW_|oHkXRhO~CX3Gx#jvVngI)!c*jQiefxF6K@`c*C>e@GBqc>+U0wxqqLZ
z+}cL&u~A2o>02Tw&xXpchstk=)OMr!L>S1~IyDLjryJfrvNh(u)81E6BhzchrHED4
z|0eSjx5N2~>`C$yj}f-T2h>ZN-IFGpH6n15BgTFv-&xuc#_grGrL85AT3%YXEi&sH
zTPy4D-4p4Jg{@o5BDJx8Z%ZUM?r+6D=>H`7$ZTEG3@9Y_EYs&l<iXji@E_;yNUu=X
zNmP?$CBoGyuBPZxq&m&jL`@^r@I;S{47SA-g=#w#PeN76&vI#}YMu@c=+u{AdF6Xz
zu-cBql7&T-P$p=o<52V=_R)VPJ*VYvo>R*AoP4(l=~i~4BiY<Er)qH;P3NOt@0VU-
zhTsj=Pv{Vs%CeT#DP&1`k*0uWB(ARk|1-Nd8tb+`KB&#8HZzn5d4w~nGvU_r;#`+L
zBI&_V2-d1R?HvB4n1LjpXrwrn^Ya{@M<k|T<OoY}NCgvE`X5HmH+-qU;9UWgP0~s-
zm8CL!O-ON3ncdNfbVqS=r6`-hDiPJquIAKnWwvcO<m;&yzL@1hgkm<-IhR%ETvnaK
zBvEfA*d?-)!|=UExFcnkD370%c8QKer%~J-(KD9$H4A|g6Cw6;Fkwl)$w-y;6KQi(
zAaf%R*qrPDFG642GVPV}=sXG1UpgvwGps3AkeA;BxZ>1*#|dhRd9ijJ0S*H1OZOtm
z-70&Bx~N-@<OG^KUW-f3?LPBU#EPCeD~Xi9uS1?@AbOjJuVtv<zhoXjV;nw+!Z`G3
z9JxEonC^mgcHDq(^$LK(w+VbBbE_eJi9>L)kXA4r1dQo`*brdM2g51~#*A$VV><oc
z4aQl(81CY6#3CqoWQ+oDr$l^^ORe-R94XktQD;(Z164X#FVC%a1oGD!IKCeOmf|O1
zAZg$R=cY>$FmiKYhkhVy2xNSUwL6uFgPw%j-7wtZCe#aA!Sg;R@Awy5V3GJ$#Dn1D
z^U_ZMz@$H+ybAIl&M43Y9>mSWmBqU;I7@Q9PBV~d%rLxgfB<FeKA>iCS)Pl^6D|wD
z<pkd%XF_U9+dg}&<`u3nRGU#?_Z-)lsKLb~Us!Zu+pqFPUbP)ueSou01C=;vBT|Ox
zscCarO`FSV+FVxCR-$kLqA-Pi^ALrLJfaeXOQ<xYC|pKyT55Fvnd!s?ObH(X>rnJ%
zR8yXWxDZ<`ssE{Zn5+GS40Un})g$&O<Vj6fTYxe9G%D51b>+B?H)^f|0@t2$rd<h{
z|4x9EF!c(H3Eqp?j7P5-nC<;)6K5P;1jtyYQ_N;&eRmfDEvnwa<-Gq|%k^F;=K-hW
z2?rbzB3@4K&tRZGe3}q-3YE4g@l!g{L_+Fd5$_$jPMuD7(2=BDdV*1#rdvg9nqPS$
z%|l)a-rIquqVe9>D<2(CKW}6_zmk4<PjAzN)^}Yuiu^9Q`pnki5)EN^_`4OS1cUmh
z7ZuchJLFxxsl2N{`-bgzUw{G9l~Z`kB@8S+e0a6Qas2ilWtjH9jzHSJ)z6rpM-Q+K
zngcqNLprnDDQozM8GItX;t2)O51R`y9o`omYYhoVU|@rAdUvB~Y^*KZTDmRFg^i8P
z^#>?r;cBitSlUD}ZfXAeG<1O&xbWQw^_Q;Y5HAx`q_71e7r{K;L6?%gYj891+Twi#
zw-YkzR4SsB@?Uif`v*Ag0t3ORk4hFfkR(zq7N6P85qaXfl3L*f5qKhqFuel3&%v=_
zm??SeFv*?+H8=$mCGAy4nWz#hm^4~hvS6dISD^t^qX{&+z-FO9jeeJn55>*Mzo9pr
ziYSGifK8TkLNZ)dPcVDz3HYvh0%hDT!nlzgyA0zt9X4)PP<d4vw`=^6a97HDakQ<W
zu-J%lR&ZdDjFmQR9Wk|Gdt~!;c-FG@7);x!eF{DM3oAVyI^BFGy8iMPU<~FNd*aBr
z4xHTR^EJ(YJZ78w4X=UY#1z+&R?kGLk*VfMNU413vgb>pctJC;j@NqW7}x<{+x}@6
zIqdSzXh<@pk?f(;eVW<xwJ@6c2_~!!re4cyutWXM<%M!}dQo!2-(=X)E~_TW-6})I
z@p|vshc}CTRC){dG7Z<`u^AH=`)d~1(0HFWX!AzM&UUl8Kl^pVRIjDP9t0-2N1V2o
zQU3dvZj?_X|1ZTPXBQqUtgJ08t}Tho#?pJYSKfO^r0%V+#oOb*{ml+j^rzspCHcli
zD3-&5-|0+gM%PQ&q%C{Cq{!cJaAM$oT-3_|gP?;7n$CqHye{*vE>SP8S3y`VOD|dS
zHOYl!SvtzHj8Lo3>3ok}Mk&rnmpnw-WZXhUhh@k@UC3yKx{!eibs>qLx{#cYFKqQb
zmX2DCt=7Tz;-eOHp2`nkb6Gtem(}BOSv?+?)#GtF8qJsj;k$_OE`jh}4imm<ROTh&
zBksq6Jx%x!IhVAI&H*2bPTQ!A32^9;h2Oz2cc7-KdmZ6QHD_Hp%Dwt~L);R7I>bC>
zk6{KX{;u1O)5~fy=F#U%^IBwsH<0iu&~CNWmSI4%hHME31k*15;7cv^Hd7i5vQB?L
zqwThopC`m0^&wy(s-{HlCDiDk0O%O`XG=W!?*17Or91u;pD1WS5r;LsLUa+l(M1=$
zKy)~VUgA<~bkcx^|Nd7%Z=R0=1^v7gqDgZq9PyKH+y?ei$Fx9CB|kw#BF@?VA^F<k
zGkhplO@H@@KDPC$WrM@s2>&UbQXzCI^Igw+-@4S<<i<9?(RL$xKDIQ3oXNtYw%2m_
Z4gdDLUTIk8P?kQ%o1b**3AGqm{69Q^dM^L~

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i
deleted file mode 100644
index e719f2bcbded3afd9ee105cf8373375506bee257..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)ODIH99LMn^DQs9s777bx$qosHvLniC!-ghFSc#@2i&@CCL?TI2ER>CuVn`!-
z?WAN9BAc=BSd929Hd9PpbKJvxXEWW$`ThUrGtIeorfF1~ic}gNGm=@>vgFkeO(X&c
zd<Y!L^WskO3m^y}fB*srAb<b@2q1s}0tg_0KxTwe^>y24NFaa!0tg_000MRk^t?Av
z@px``AJj(xf#3r1@;PE}A$vIZnVf+D0tg_0fIfjXxgL2FhY$2sAQ=G!5I_I{>jK$w
zomzP)xVN6bNCXf-;0pm+Uy7Wb`Y(=#&F%(qXpH9bK-j$CO!Qj;hrA!M)>E#(J;~sM
z8`4|vq$|_l7HRDt3k=EJE?Z9LbWbr=-lx8<yI$RO$VWhjz_Wzr=Umt5$R^Xez=;g?
zCtY+~Pheyy1d?QZudHZ`3q{sXGFD}<KXzd2CmD=I009ILK)`f?PPy)uI7hVn$BpT8
z59j`TGWpkz<gsuzFmdiT(v-7%V#>tc=m`M?5I_I{1Q0*~0R#|0009IL_zi(*`Mz?`
z*VXh{t46kG_w(02w|PbY0R#|0009Jo36#tILqfWvHQ0G}9rsA#u_nj1UG)R&dSypn
zX;f|Cezp-nz&?QmDP3IUHuiUmJ+jXFj}M>h6Edsvvb58mH(hO3S9F5_0tg_000Iao
zH7*E!yY3h)%n-<s`{+SW`=}Y+&;<erAfQyCtV^4>&GT3wfB*srghs$6G4t-+_0XhQ
SPbro4y))wK!g|8r9Qg*C%2)UR

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab
deleted file mode 100644
index 539c1455905e8f168b5784d09602e3235e9b259c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH@s|o@^6o!BAcQF`Di((M=0mN(;j5d=f;!9ZUf>AKpMXP3uut|J|&4TyK@n6;j
z({|w;nE7VTnK{gS)5barM&6mc$hnJR02p#93@7t@h9x+|3#V53ZhrG#-H#UguXtca
zc6hl)7J`8F7TJ+qavTD-FOg=Le2N$mp#BiC$>m*S9t9RRkzNewlV%(!lSlG!W&Z>)
zAqPpIMV3;4LGH=TMP!r)+GI5Yn50df&hEec-mWz@pa#@{8c+jjKn<t?HJ}F6fErK(
H|6t$)#;8{g

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
deleted file mode 100644
index 1c3de6c80417b137d9685fc66f0c1066660f9569..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH~&q~8U5XOC>y3Y`64<4kYRXmTIX}TuaU1uj^d@8F5f}kLZc=4H>q_L=HF9YV3
zU6SSZee)-iwK+~m$*hnrFb5*Xb``vtQ78!N8raF|Bv6?mSWIS0;0rX<h<*_ovS@<b
zLUf}7JrZyrlc0{3JZme5o=rqfvW=z;Tsc2F16w9JHIX$nI6v&0K*iT#9745yKZ~()
zwkO#wd98q0>_}#YoJA+Zw_1o7U6eM=H(Hpx^xYu8C_r|8NsyQt%Z(I-fM=(&1lyHa
zl3aOIDPr6gy5N7P#6S2El{uy;!9bDou2IgmS?*(n1u%Ab^`KA5geXwQ{;ZFEj^_;~
z9tXd4g=z_h$g7Zxgg1>**i`c5lF_H3!#?TLu|RTAxho`z!@UCjI^-zxn|$8BHPbsi
z;A82UMW9yf)-VVSc26nqGvr#2(J~{8$BKZDpljzE{y~PM=;mV~epQeYzlP(zmN6rO
QHp?M$uVUx_`eO$^0otX%od5s;

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
deleted file mode 100644
index b92ca80caa0659b9a68734e5c7672abddf481663..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00F*r007bey#N3J

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len
deleted file mode 100644
index 8fe89d82d540f0f9c8b866f249f77e7623cde7a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00Bk?001fgA^-pY

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
deleted file mode 100644
index 4611327238bd07e1b3d51da0669532d540815aa2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2331
zcmbtW(QXql5VTZ@NB9F2fe`|v98D3RA|#?~QBf4N%C+!<1m<q<V&T|k?L#d;!5{E1
zd{|XBm!yEh<=pa+heSIw-r2D?2|EB$0QM%38!URS4fc)zopc_wKM-y@7WS=BHDunP
zsG!eo8>|vzK?^IrG0G)FYn9A}mqw5L&HiWOmDC?*rl=JZ?Cx59t|XBsgm=ji_@R}L
zBWn1&DQG&4mAZ0)%9P#P$S^-Vkj@~gYLimQ_(qNs2S`HOF-4nnez50l6jGNcoX0x%
zH3GRWho9)H$mauaBY$#TATOX4wen;7$Y$uN(O&^QAm0ugKi^_6<8{(z;(ztqI`Z}Q
z7U<n8%cW*!g(g$d>qGe>tb7pk|MLdhiDaFCvoshuKC{q|#AJ1zgL6+J%irkI;H<fU
zLbZlGaCQQPL}*eI3t3EJAJJeeBm<-fHIP@4-B6;bp+7Rdaxj>|clIKh@$!Y*0|k}v
z;NnBEj^!EnL!Co#po=Z`H1b4CCr@**^J^PxO#tJU5s%efj^nDj0qnPK;J_Y>jqC)z
z)Zje5Fr}>imt_ooYKnkm6djLMzV=UP>$$}%8juZH>ysW_E3!%oCBFd%6uazUTR3P}
zLbFKa>L>yB8N1(sO)1lr!LtDPv3*}HMGuko|Dz7}rif==_&VIZ@7bLWFzxsU-6j8K
aA9S)Gi!eSr?f*HJJ<qpvVAL%Z{O}7Wl7*B2

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i
deleted file mode 100644
index 7b5d90e2b3be7504a617071083d9c83deb8aaeb1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)u`7ge9LMnob!4KWEEX|YWRS&TR+7jin@u4ji@L>VFv!9r${<NbF%XN<Mlx8`
zWnvIt`4{x~oqOGK+w*yUU(-`pm$hXLnGXR11PBlyK!5-N0t5&UAV7dX)d{rJWm&Or
zY&`Ywoe1n3D)y${sqaVNA-;O1F9&%LAV7cs0RjXF5J*wrDxwNYyVohUX(B*?009C7
z2-K3ma~wNSX&$Mio83x)009C7YDJ(aeuq98o0_YYdsDe{FG7wwyZck=(LsO!0RjXF
z5FkK+009E|3cSVKaJjUY@2WKd`3kJYTyb>aBi~hP1PBlyK!5-N0t5&UAV7csf&2v4
zW9s<+v5?=QrN0z7i}8cWz0bdFuuXsf0RjXF{I0-SJnnUVW9xUH>S?J8+(p>=^7c%s
zeYyw`An@M>4&%W0m8tsF?>znP+<7ji-l?xT1uBufdVaH9o%N~-5FkK+009D3C=man
z&^mB2n`-%Ogf))rU#8lpivR%v1kx7RjJ%_#u9vhc)e#_&r$9%%|CZYOJM!GLMc}^+
Fd;#pyFuVW&

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab
deleted file mode 100644
index b9ad114a5e961e577ebc41e55426c167cca38762..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmbR3vzw0r2v|V`3<y9ND}Yo35dQ}PkO;CGMj#)AVE`n@3FRP*!{qVN=YZxL0u{sp
z=^_yQ@BjZ^ApQ35|Nk?Av<{F4Qlnrr1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ON
NU^E0qLx9W>003+N8dd-R

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream
deleted file mode 100644
index 718f8d66e4678a6ab09c220c3273852eea8996a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIuF$w}f3<XeoZ(wU5Jc1%y*vU55!y1?9Y%*jrqPJJn#%>SrQ-ypI!rPdSWQ8>q
z3A0>j$if;Vdht}l+Yrr}c18A|U^{=|@OPr;T1+diuIZjACmpG88ZvSB7`TL(E^iiD
xlsawG`qvkKf9D}wspoV)xdb1-v*!W@0SG_<0uX=z1Rwwb2tWV=5P-lOffpYDN@D;3

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len
deleted file mode 100644
index 47c1102697649603a57d748104b04c9ace30fce6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0E4{%0L1{l

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.len
deleted file mode 100644
index ec8f944c8acd49bcace4e4c78d4306ebd9e28078..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D~0(0I&e5

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab.values.at
deleted file mode 100644
index 96d372e9e9242d9ea6e6a3c14002e84144ab0daa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 793
zcma))!AiqG5QYQ3NI^YFVFeZMrB&*ov?S_%+5Alx(w%i?BKmYbncybGi;%j<f$y7t
z82;;G4O@d}B^+@*dnBIiz~V&_bZzCZvGLWm9V#WZ4X8LLZVW{P8@&>>VqEJJY|<=d
z2VF#ed6MZ@AyF46sTTn!==-cNQ=AWbwxZlQ?HH!&oP)?+CjJ!m#7C>1f^Bayr4qGg
zxL(Rtmcx4<n2B?h3j7Wplu+Dfo;K!uIK=+ETy4zy)xL_`%)Am3DF~iFBXWOU;;n<|
z26~`+J{5GN8mU)XPR%rxTJ7ZOA2#)FBv-|9iv81<MU1U?LjhK3(O89;3c3vrKO5~e
AhyVZp

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i
deleted file mode 100644
index dccfd2076eb0dace0b74f7b5df35ad556ef21147..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeIuF$#k~5CzbM;1w)#0uSM#(%ISwDQyB`mDIUGsub2<!5eskK&BNfZ5G~kGYg+T
zFBR#MJOTs=5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{RDnLy
z-nVaeYN#**1PBlyKwu+qkLmYWuA8NS009C72oNBUvA{FB_j6Tde1hr(2oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5(TF3?8*
p>Cse~pP@bh0t9vfLu}SpJ?=g%2oNAZfB*pk1PBlyK!Cu3z#op-4dMU*

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/subtypes.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab
deleted file mode 100644
index 826a296d7622d7bdfb51d3b580f2ac289576016c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIup$)=77>4011_$_B5+=ZO0TO~jlj??qV3Bp5psEJK2CZZV1d0JV1P1=T7r3OV
z3-J9(`}FRb6K}P-O&l}zuQ0Rk#|v^EWBgA4pNO@8!uYe*Z_(cm=R@APf6fmTt}(+S
zF7b*Bd|>-A8*}*u6HM`dF`n`HHfyoQc;sA(TRdTbdu(urT&Gb16;J^cPyrQC0ToaI
N6;J^cP=UWG&;jO+LN5RS

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream
deleted file mode 100644
index 3aeb44950ad90adce547f0fdfd6809374909ec2f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH_!Ab)$5Qcph^&mnHD&9-=;6W-IeSnbtTLWn(&diFwz3H+&w&npQx4`#>$;Vt0
z?;KT>P?Hj6aWN+pb?q+h4Z5o7`Yhv>7>&9*OMM8qLHDPiRJI&Md5StQ+yJRm1n<8U
zuG8^Tj1YO~#9zvmcpo%T3Hh#58ZahCJV?FDdhYqmOx&w@@Hco?)}4c`YRxImzj;E&
zE-1u#=%z$GcD}Jp`V&zPAMDkZX^&cO{{deUL|>twG~S*XaZe-KQf_zzJFh_}x%r1}
fOS_O4cC3IEumV=V3RnRvU<Isz6|e$U;8@@f$J8LD

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len
deleted file mode 100644
index 55df098132acd195d2993d5b3064fee557d9e07f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00E}E008L#-~a#s

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.len
deleted file mode 100644
index cf8a30a1c969e61b953bddf5da4778377335bdd6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz0D~U@0RRB`

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab.values.at
deleted file mode 100644
index ee4d5b4aac3d655e05c626d4119f0ddd1ca7d7e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 689
zcmeHFyKVwO4BQ^RAT%eDdPDvoCqzVwNa&DAZQYr}WU*IXZv=nOiAQnGDHRo^Ju}v5
z#&2$k(4ZC-)}l@EDO#*h6D32oC8XUq#0`XuYZHYQ-`z~K^%9XGl8J=m>p&gZ6K@rg
zX|63R`ZCh|0z5`CcB5ahK<pQs52gF~zs;|n@d{HEPWU{bc+cY1O>f~w?W$KJOup(q
k=SRtKb={pN?qv^u-~({$tIS3RTpVkRM#6(&zr3O83>V@BX#fBK

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i
deleted file mode 100644
index 33f1fc37d8058ea99b64ae51b7355883c8c3a9b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)FG~Y)7zgmfSxhTpGKxW8f<ZwB1Myv`7!?en3v2!<nnbV|3=<4S#Ui+{Xf!UU
z7%k@c+&kF8cDFk|zx=!B`+Yv~I4-FtwZtJnfB*pk1PBlyK%h{8%Si9mzBUUjA)EjK
z0t5&UAV7csfm{TBBIRNAek+$SAp{5zAV7cs0Rp)Tyhq~O{9ZTrV1Wb(5FkK+0D*!9
zZX<u{<>b2H8sZ5M7@@#Z%xWDrPDeP>C;|k=EYOSj2j^$cV~#OCCxMU1*=Y9va*7i}
zfB*pk1PEjhXvf{1wcb*OM_eU9fIuk(exv2e#X|a8$RR+0009C72oNAZfB*pk1PBZz
zkbW@My17~(>at4&2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5Fk)lflh2T_r2e!
z?1B|rEd7zh-O=E)VryB4z(fl?M!V(3_RK_=RE_`v0worBjqcN(-R%;upgI8p1WGB;
PkJk0(@oXu}XDIy-tPdtW

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/supertypes.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
deleted file mode 100644
index 8efbaaa2df5..00000000000
--- a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
+++ /dev/null
@@ -1,2 +0,0 @@
-19
-0
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab
deleted file mode 100644
index 1b617c8bee657b3d7f04b4de48a4ab52d04ec5bb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIutqQ_W9ES1N?{5(-OM=x4(3=pv2N4tmlgVV!WDt`en3hbkV9{g}1d|tG_6GDh
z=wQh%{10ruvz@cCJ)8EiEJoFx!cqB5yqGj)`eL{{(LF559pP|mt?xzjez^Y28}AR;
zaKRoApV5m;C%obTmkDW)oustGT1xWqfm`&`(i;02X@!lfw7@6MG05>RILu2EtQVv)
r-f@JpqBOu}N$TRS@3l26U<Isz6|e$UzzSFaD_{kzfEBO;|5o4)#$!|;

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream
deleted file mode 100644
index 5a9326fffebbe8c13fbf3b30aad4a1efe59f1c46..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH~&q~8U5XOC>y3bH*4<4kYRXmTIX}TuaS!XArK9yAjK~NAuy!cE`+E^<10t3w{
zyClo+`{qw3D|eQWvs)rxV*$)T{F0)ZGL;NX0}^y~PF&>#9<!S;#1h>kVVqOT9v$f|
zq%bHkB7+dS3{9%_SziZ?;u1>MZFCh$9pc~;e3kXo%-%H+V!!W*%iqI<sNTLmOsNij
zO>$Vt$^fz2k=+z!n1T{NS|OfyQQ9y+SYhtccZ2+406D}3Ll$nmv|11fKD^K+_^!;d
z=E|!{5u<gXEB?1h{Nq1SnPE;E3{*K^7UgW4<q_6cf?$_dFZPs-nTb30cYEwJylOGa
zh~grYrX`%9EU8clpBAIAspRpEV9b4oeY2-yjvSy4cgPxtX9N5V6{z!@e%^MP>60Ds
zk#^0J_*U(<FbMT_Pq<iT$h{q-bw*Z?4FR7**Ul~cgY-$!&Bsc7u)p>W{Nun6_=R!n

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len
deleted file mode 100644
index bc1721ad72a1f49a7d7b438e2237f366381e833f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00G_?009aB_5c6?

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len
deleted file mode 100644
index 14f7c061cc4bef2fdb72d8ebd5cc8c9a23a22d1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00Bk`001HY8UO$Q

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at
deleted file mode 100644
index dbc6bf90fdef9c972ed7287004893d199a230471..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 163
zcmW;6TMB|e6o6q(%S%^X!R)|Yh%Z4D^nS>L3gN_=Y5&pxJ$zj<sElgvt}kz+>%F;~
xT3ABVH4YNyt9+jF{^}!olS%XBk5k@o#yM|!#|4*Mam{-^@R3h^<_kC6{s7lI68iuE

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i
deleted file mode 100644
index 3bee32461ba7012d1c138fd7f1420a942392a00c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI)F-u!f7zW^LT|_z*9NZo1E`=@~1ec17IJ7v4(4lrq8W015ORS6FA}w_3){YSe
z-Rw{rQ3OGRf(W4?C@zAFgM(jxz#Rff%(;E;c+biC-uJnXA&{F5W&N3};{wn6vh3rp
z^H&`oWB>sI$p~CV($lvGGsy%NlmLNTfj_bG<n!6r+zl285FkK+009C72qY-58=03T
z8}A=G`p*dP^yJ=en2-G+5}&^j`Cm-mRT8fue!&FxqtEI>X}Msv)M-(m9{XpnKiszX
zG200cXoJ9yIAiQ$YP}6dIf4KI0t5&UD5$_q^lCnTc~#JQY7rnnfB*pk1PBlyP#}SU
z_`k}Vt(~I+RZ@ij0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+0D(jWRwDQI@Zjr2<BLsz009C72oNC9V*+0yPkFpn>akej<Om$c{ZA8>YR<CT
z1PHVs@GbV%-;MrzO}L8y0RsQ0K)gp`YjdQLTKT&O{I@!n`~AHZ>*dA0`P6#JOMn1@
WZVNPHVD0<w!*0(tj{pGzc>)iEdoxV{

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab
deleted file mode 100644
index 6843312afb2220972b906c00a787235613655d82..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeH@%L&3j7=+jN`;8!;1WT|13lQwWn-?p{QETvG3El-u@RCk^Yt(UmVuB|NkQvx~
zlig(D|CXao)iEu5M5%|RlW@*s1!Ftk-|z@rahh!X&s((b#izf^j`!O?T{1~dUO<Xm
zKY=tEJb(;2AhYBw0CME&4&+Jy1{BCPStQ3-phPY%K$+a0feIO%02_8l*2wu0uu=U3
l&>(xH%`x4F^Rg;3AOkWW12P~3G9UvoAOkWW12XUz2Hp_bO9}u0

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream
deleted file mode 100644
index 54555db390322005a3d6c3030f581ae72805c531..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4096
zcmeIuff0ZZ002NzAqwq3Y<qP7BYcQk+K)4rdbNH(W3D$~z<>b*1`HT5V8DO@0|pHI
GYv2R8Spcj6

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len
deleted file mode 100644
index 2b895e774deea3bb925caf1a5567bf65555bbe6b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
LcmZQz00UtF02=@l

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len
deleted file mode 100644
index 14f7c061cc4bef2fdb72d8ebd5cc8c9a23a22d1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00Bk`001HY8UO$Q

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at
deleted file mode 100644
index 9acac0d4af7a0a3a7231b2734a204d8a6502d5a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3654
zcmdUyT}~S@5XUX;MRI}EXNW=&eL#s4+CC57VPmrEF=KDla;oyts#Ou77R1K`T#4Bv
zL~w+8TU*}Q-+#V#Y|RcriQJo_BQAT}#Jve}@+o7;JCNqP5I;lR;w%$Gg{S7keoAt}
z&XK=j3CupbIR!gmsu-FEvX|8t;zf$!FxfFfsL+lhh8eZ&(2_ht^!*A0GKgWDpoz7d
zb+wo8+K4&HHrfT{+K2ujxJ44HiJfi0hxNWCu3n90qI&cGAjaCeCCP_H*1;?eNp^yH
z5WO&;n==J|UNU!?fh+1WbE<{9OX3yuZDDQ{Q2TJekTSO}w^A9xKG>HfxUSxkq|BAM
zR4HS)ta%aeT$m@73O>FI%@k9Vh@dEXEX;#OMVs!qg*8@?vCFRu^H-mi5i@Z||GzN*
z^x;qOsKu0r6b^i)UBxcuIhCT~zA$$hW3j61(Knfm(z@wh7v@Tzlo_&z+8-lJH2#?1
z3KTR{q6~QQ+k4Yrf0>_p(1+4TE8_3savgKh+T~-G3xYtOm>+taErYZ+<UQy*ypGGt
LIyJf>T9{t|3I~zv

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i
deleted file mode 100644
index 41018a93c6b30454cefa6b650cadc18598d5f17c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeIut4>2f6hP72Ck6WcY9tbgL{=h^NMvOtvJ%O@u3u2KPO@_*lSw97!*Q4mH}leY
zQm-|ww;CV3*StPzQKwqgXFb$ct?IiT>!+UTT+el>b^X?+uC=Yd+ST~!zO`x}+WYo#
zyf*|05FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
tAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAVA;_0{@WQ3>*Le

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab
deleted file mode 100644
index 6a1c931aff7b65bd925f5b37369c83eb965476b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16384
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
T8~ED5*9N{e@U?;e*9QI*St!Jp

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream
deleted file mode 100644
index f63557d8cf674d326eb75d17cceeb04fe9e4345d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12288
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
ASO5S3

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len
deleted file mode 100644
index 1fe2ce1793163d25fa67ed0e47d00f7906aea255..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00I3M00B+`7ytkO

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len
deleted file mode 100644
index 5c57642393865391c332e87c964706eb9c57791b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz00Dyr008I!u>b%7

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at
deleted file mode 100644
index 79e307948f7c756df989b3a040787718564bcffb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12507
zcmeHN%WmXE6wRX_3F%Cd5epV9`U8;IvSfv3gM>h0-(p&Tgb3<{|EKOb<?B;@t890o
zpg}m2E7w)`{i?FvU!Q&0?>_Di+aLG8JRUx7zk57vf7l<Met&x2|M~o3_w?KMyT5+k
z{qgtyr{~AR?$`YnXX)=YUGLI$m#+JCJ*4aXA`NGo_WG5rgQAB(b4SWBE(d3ZS2v)Y
zg0q1(=SeqWPZ~F7i_u)9>r!MD)Zn~K7;C|xW|RtVh?PoxCN#@Zp1Hi2p5SGeS%Lbh
z%>yf{*QgBTrLgOEX_{bVA?t-5GOxBOym5Z!Ip)UVs|1!7r+ag6I}<Zca5HMtj(ROT
z;;YYX#p9S@lX(p-v)-;vJ<{~xx!9#Jb<i2Y>J!Fjc+?76etE332{*l0=~~004g)r)
zn|tc#Yskqof0HiqR&TjK#43%@vd?SJyH1j<ks6Wf^nnl4O{c9fG94_6Rtvd@fU;2`
zE<0EFHj#M*Z87wvZxqAzOq1|e`fpTYc@*O|S}*RK&T7_V+tcfBlOp)@2&6l6M(3|}
zf=%1&bPZ@+&Fb6>%6tww#!ga1UNgcunNNu|*S&gcxb77*_a%6jR7$IuC&L~kWMO%y
z(G=M&8LE@Q5r23!<B#Z)vAo`OuNvG#okGt5+Hv2Ya@CWiUFBV@H>FhA>E`N6?d2?H
zl+F+?VqEoQeGebXG*;%seA}9)_Sfp)*S-UH80hRcGj}t(L-8a+{R-<mJ77`FsxULU
z_q6>rCQB(5cDgx(krV10z{44=dxFBugCZNq8GX;P=(2~f!snCtltTG&%=JL79>vpZ
zXJXY*4#vW&QgX=Xcv6{jygNbX2*QJwd*~_f@Tc|cGiMq)LmE(B>3`u7sf_;2GIvw>
zOnn1*xSJM!Ejvr#lyUtWIiEba|IjZ*k8b%+=KpW+b2M9WCcPrxZs5szC!MoyxW6$^
zZsI8k`BTZs*8D4Sb<WZ`ONX;`-i7D$o_U}@&DNhP*{@<QY5v63Q>(B4R>AJ6+-Ep@
zz)!(%;Uh+DWGr{2@~(f=QJF`rmGjf@z}YxlOs5&b#D07HX6C%4AP&Z(l?op7|5F$l
zzv-Hsia(w6bj%BQ`K?D<`Z6i{*6zOx^DUh@+rMGPGivpFCEw<8C(!55n>u#jTKx6_
z(LU~IYwv9<K=wVDRFs#`v!Es1?-+clwI!qCd-|)MU(jZO3hw-n-|P4I)URsUb@)19
zp0qE(p9Lwj!`3%dUaLSsd)Junw1Y);de^w=U0M=GjUeMNGUJl+zH@vJ3Hhl9aE=gQ
zzU4GOL_H~&WA88h(xQ8R<;f}dFj^AdO)F1!sR~Y|%PZX^7=FT60LGx?8FW{k>{D4g
zQge({ai%7%MLnid<Q`{g^2YdrCVmHDm(HGW9{qb(_0hi%7uwP4#yB1GWGmb&_49h>
z=ebwO?VvN`aQ>3W23~59=C8uU(HVu6Lj|5@|DawKt`R?aBhHYjtx<bL<&{`1DN1o9
zcS3!*48g6<MJcbCiS<34Y0V5gvKN`}+7H$NC^fqj9?nC>RCt(b?0I@h?hSisOoHmF
z@UY%I<Bg0JpL17!>+y8GR;8}x9kPPwk;>S_9nk_@r{M5}6GzRB;uI8nLY!fZ=ooR_
zGIW8k9?zsNoPiec%-)>w6D2W5eCSqG`arn`Jt`6Ad=s}Rze2%ttDW+0v6=w<?)4rv
z^}n$<UGE&j@bCT30`UNRiwl2wd)NN;KD57;@f~1}{0;G`BY%}#jL;{klYg<yHJ)oC
NtdtMXh9hlx{|^wrV_5(I

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i
deleted file mode 100644
index 0dd970c4c0165206f143da5a617e0ae97d5e823b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
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

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len
deleted file mode 100644
index 131e265740f37d77b7c4a3676d2a7704ca3e4a29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8
McmZQz0D%Su009U9fdBvi

diff --git a/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/last-build.bin b/samples/client/petstore/kotlin-jackson/build/kotlin/compileKotlin/last-build.bin
deleted file mode 100644
index ced6aa0ca79dfd9ddf6adc6f00b37073d98dc732..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 81
zcmZ4UmVvdnh(RmAC|xfrwIr!1F*C1NFFU^^Co@kkGcUO)H8(Y{Br!+NsWdYu#WOE0
lfAeSN$RAJN#WOK5dNHsUmn0UIgalU<FfcF{$lYY9008@I9xMO=

diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/Application.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/Application.kt
deleted file mode 100644
index a48b80eecd4..00000000000
--- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/Application.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.openapitools
-
-import org.openapitools.client.apis.PetApi
-import org.openapitools.client.apis.StoreApi
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Pet
-import org.openapitools.client.models.Tag
-
-fun main() {
-    println("<top>.main")
-    val inventory = StoreApi().getInventory()
-    println("Inventory : $inventory")
-    val pet = Pet(name = "Elliot", photoUrls = listOf<String>("https://jameshooverstudios.com/wp-content/uploads/2015/04/Majestic-Dog-Photography-Elliot-Nov-5-2014.jpg", "https://express-images.franklymedia.com/6616/sites/981/2020/01/22105725/Elliott.jpg"), id = 123456453, category = Category(id = 13259476, name = "dog"), tags = listOf<Tag>(Tag(id = 194093, name = "Elliot")), status = Pet.Status.AVAILABLE)
-    PetApi().addPet(pet)
-    val elliot = PetApi().getPetById(123456453)
-    println("Elliot : $elliot")
-    assert(pet == elliot)
-    println("<bottom>.main")
-
-}
diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 05f77db3037..f9995b89211 100644
--- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.fasterxml.jackson.core.type.TypeReference
 
@@ -247,7 +246,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-jackson/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index d939e3d5a43..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,494 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get all pets
-    * 
-    * @param lastUpdated When this endpoint was hit last to help indentify if the client already has the latest copy. (optional)
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getAllPets(lastUpdated: java.time.OffsetDateTime?) : kotlin.collections.List<Pet> {
-        val localVariableConfig = getAllPetsRequestConfig(lastUpdated = lastUpdated)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getAllPets
-    *
-    * @param lastUpdated When this endpoint was hit last to help indentify if the client already has the latest copy. (optional)
-    * @return RequestConfig
-    */
-    fun getAllPetsRequestConfig(lastUpdated: java.time.OffsetDateTime?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                if (lastUpdated != null) {
-                    put("lastUpdated", listOf(parseDateToQueryString(lastUpdated)))
-                }
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/getAll",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index e1d5bc9c412..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,245 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        return value.toString()
-    }
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fafca8738f6..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index a4c17c3b49d..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index a66c335904e..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index a3df06cb6eb..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 6e619023a5c..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index af1e270325d..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c4700a70115..d4fc1f091a8 100644
--- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -26,7 +26,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -254,7 +253,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-json-request-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
index 1f38d3fbe2d..49c37f92d4b 100644
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
@@ -21,7 +22,6 @@ src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
-src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/Errors.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index 78223583f64..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    suspend fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 4ab794d6608..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 911bbee5b6b..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    suspend fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index bcbb1cf8627..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.gson.toJson(content, T::class.java).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.gson.fromJson(bodyContent, T::class.java)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.gson.toJson(value, T::class.java).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index 6120b081929..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-
-class ByteArrayAdapter : TypeAdapter<ByteArray>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: ByteArray?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(String(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): ByteArray? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return out.nextString().toByteArray()
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
deleted file mode 100644
index c5d330ac075..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/DateAdapter.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-
-class DateAdapter(val formatter: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())) : TypeAdapter<Date>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: Date?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): Date? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return formatter.parse(out.nextString())
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index 30ef6697183..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE) : TypeAdapter<LocalDate>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: LocalDate?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): LocalDate? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return LocalDate.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index 3ad781c66ca..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME) : TypeAdapter<LocalDateTime>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: LocalDateTime?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): LocalDateTime? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return LocalDateTime.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index e615135c9cc..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter(private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME) : TypeAdapter<OffsetDateTime>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: OffsetDateTime?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): OffsetDateTime? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return OffsetDateTime.parse(out.nextString(), formatter)
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index b80e0390de2..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.Gson
-import com.google.gson.GsonBuilder
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.OffsetDateTime
-import java.util.UUID
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val gsonBuilder: GsonBuilder = GsonBuilder()
-        .registerTypeAdapter(OffsetDateTime::class.java, OffsetDateTimeAdapter())
-        .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
-        .registerTypeAdapter(LocalDate::class.java, LocalDateAdapter())
-        .registerTypeAdapter(ByteArray::class.java, ByteArrayAdapter())
-    
-    @JvmStatic
-    val gson: Gson by lazy {
-        gsonBuilder.create()
-    }
-}
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fc89bf34e7f..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @SerializedName("code")
-    val code: kotlin.Int? = null,
-    @SerializedName("type")
-    val type: kotlin.String? = null,
-    @SerializedName("message")
-    val message: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index b483bee69b3..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index d6bacf867c4..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("petId")
-    val petId: kotlin.Long? = null,
-    @SerializedName("quantity")
-    val quantity: kotlin.Int? = null,
-    @SerializedName("shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @SerializedName("status")
-    val status: Order.Status? = null,
-    @SerializedName("complete")
-    val complete: kotlin.Boolean? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @SerializedName(value = "placed") placed("placed"),
-        @SerializedName(value = "approved") approved("approved"),
-        @SerializedName(value = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index afa65785d38..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @SerializedName("name")
-    val name: kotlin.String,
-    @SerializedName("photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("category")
-    val category: Category? = null,
-    @SerializedName("tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @SerializedName("status")
-    val status: Pet.Status? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @SerializedName(value = "available") available("available"),
-        @SerializedName(value = "pending") pending("pending"),
-        @SerializedName(value = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index a1a282cb38d..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 59ba0254f60..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.google.gson.annotations.SerializedName
-import java.io.Serializable
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @SerializedName("id")
-    val id: kotlin.Long? = null,
-    @SerializedName("username")
-    val username: kotlin.String? = null,
-    @SerializedName("firstName")
-    val firstName: kotlin.String? = null,
-    @SerializedName("lastName")
-    val lastName: kotlin.String? = null,
-    @SerializedName("email")
-    val email: kotlin.String? = null,
-    @SerializedName("password")
-    val password: kotlin.String? = null,
-    @SerializedName("phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @SerializedName("userStatus")
-    val userStatus: kotlin.Int? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c6bd90a8cbe..fcd159bbdee 100644
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import kotlin.coroutines.resume
 import kotlin.coroutines.resumeWithException
@@ -261,7 +260,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
deleted file mode 100644
index c5d330ac075..00000000000
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.google.gson.TypeAdapter
-import com.google.gson.stream.JsonReader
-import com.google.gson.stream.JsonWriter
-import com.google.gson.stream.JsonToken.NULL
-import java.io.IOException
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-
-class DateAdapter(val formatter: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())) : TypeAdapter<Date>() {
-    @Throws(IOException::class)
-    override fun write(out: JsonWriter?, value: Date?) {
-        if (value == null) {
-            out?.nullValue()
-        } else {
-            out?.value(formatter.format(value))
-        }
-    }
-
-    @Throws(IOException::class)
-    override fun read(out: JsonReader?): Date? {
-        out ?: return null
-
-        when (out.peek()) {
-            NULL -> {
-                out.nextNull()
-                return null
-            }
-            else -> {
-                return formatter.parse(out.nextString())
-            }
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 7a8dcc91cd4..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 25447c818e6..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index 18d2ce3dbbe..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-@JsonClass(generateAdapter = true)
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index 8396fa42357..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-@JsonClass(generateAdapter = true)
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index d7091dd4c0c..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-@JsonClass(generateAdapter = true)
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index 8b4e6b44d4c..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-@JsonClass(generateAdapter = true)
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index e7cdab2bb5d..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-@JsonClass(generateAdapter = true)
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 1bfad844904..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import com.squareup.moshi.JsonClass
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-@JsonClass(generateAdapter = true)
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c75d4889d2e..003c196213f 100644
--- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -248,7 +247,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-moshi-codegen/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
index d95b6af6c45..abb56b172d3 100644
--- a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle.kts
 docs/ApiResponse.md
@@ -9,6 +10,10 @@ docs/StoreApi.md
 docs/Tag.md
 docs/User.md
 docs/UserApi.md
+gradle/wrapper/gradle-wrapper.jar
+gradle/wrapper/gradle-wrapper.properties
+gradlew
+gradlew.bat
 settings.gradle.kts
 src/commonMain/kotlin/org/openapitools/client/apis/PetApi.kt
 src/commonMain/kotlin/org/openapitools/client/apis/StoreApi.kt
diff --git a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index b6b38fa42f3..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-internal class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 19b7acdbd31..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-internal class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 979bb1b81f8..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-internal class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index d26cda9091c..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-internal typealias MultiValueMap = MutableMap<String,List<String>>
-
-internal fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-internal val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-internal fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-internal fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index c4da8e3989b..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-internal open class ApiClient(val baseUrl: String) {
-    internal companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index c618544573e..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-internal enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-internal interface Response
-
-internal abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-internal class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-internal class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-internal class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-internal class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-internal class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index d7f9079c0d5..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-internal object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index 86bcb51fba6..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-internal class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index 204b69dcb08..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-internal open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    internal companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-internal open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    internal companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index e86215d5717..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-internal class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index fe7069904ca..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-internal class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index be7703c103d..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-internal class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 68f41c5497d..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-internal data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index e0fbb1e6526..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-internal enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 858d1b7339b..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-internal val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-internal val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-internal val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-internal val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 7265f759142..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-internal object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index 02fa692b57d..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-internal class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index a695278dfa3..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-internal data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index 376994a9b25..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-internal data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index a943b97c1ea..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-internal data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    internal enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index 544fab20f5a..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-internal data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    internal enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index d9b84e93eaf..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-internal data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index e0e821cd7e3..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-internal data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index cb6d8697017..773b9b0eb42 100644
--- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -248,7 +247,7 @@ internal open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index d7f9079c0d5..00000000000
--- a/samples/client/petstore/kotlin-nonpublic/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-internal object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES b/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index 95f695cb9f4..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet> or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet>? {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet> or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet>? {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet? {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse? {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index c442f866100..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int> or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int>? {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order? {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order? {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 6e6c329144c..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User? {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String or null
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String? {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String?
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 7a8dcc91cd4..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 77066de4e55..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T?,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index 7d40c8efbc2..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index ceb0fbc8fe6..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index ed8f8b13a43..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index 105f485f021..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 944b1cd0a14..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 9697f07d5bf..00000000000
--- a/samples/client/petstore/kotlin-nullable/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c75d4889d2e..003c196213f 100644
--- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -248,7 +247,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-nullable/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 9d526273d7a..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.MediaType
-import okhttp3.FormBody
-import okhttp3.HttpUrl
-import okhttp3.ResponseBody
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> RequestBody.create(
-                MediaType.parse(mediaType), content
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.of(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = MediaType.parse(guessContentTypeFromFile(value))
-                                addPart(partHeaders, RequestBody.create(fileMediaType, value))
-                            } else {
-                                val partHeaders = Headers.of(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    RequestBody.create(null, parameterToString(value))
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> RequestBody.create(
-                MediaType.parse(mediaType), Serializer.moshi.adapter(T::class.java).toJson(content)
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = HttpUrl.parse(baseUrl) ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code(),
-                    response.headers().toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message(),
-                    response.code(),
-                    response.headers().toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body(), accept),
-                    response.code(),
-                    response.headers().toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message(),
-                    response.body()?.string(),
-                    response.code(),
-                    response.headers().toMultimap()
-            )
-            else -> return ServerError(
-                    response.message(),
-                    response.body()?.string(),
-                    response.code(),
-                    response.headers().toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 037fedbd18b..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code() in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code() in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code() in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code() in 500..999
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fafca8738f6..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index a4c17c3b49d..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index a66c335904e..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index a3df06cb6eb..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 6e619023a5c..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index af1e270325d..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 217d6fe0199..6b722e7d99f 100644
--- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -23,7 +23,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -245,7 +244,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-okhttp3/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
index cc7132b2874..d252c0a2ec4 100644
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
@@ -30,7 +31,6 @@ src/main/kotlin/org/openapitools/client/infrastructure/BigDecimalAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/BigIntegerAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/CollectionFormats.kt
-src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
 src/main/kotlin/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
deleted file mode 100644
index 0c8a4fa54d2..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/DateAdapter.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlinx.serialization.KSerializer
-import kotlinx.serialization.Serializer
-import kotlinx.serialization.encoding.Decoder
-import kotlinx.serialization.encoding.Encoder
-import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
-import kotlinx.serialization.descriptors.PrimitiveKind
-import kotlinx.serialization.descriptors.SerialDescriptor
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-
-@Serializer(forClass = Date::class)
-object DateAdapter : KSerializer<Date> {
-    private val df: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault())
-
-    override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("Date", PrimitiveKind.STRING)
-
-    override fun serialize(encoder: Encoder, value: Date) {
-        encoder.encodeString(df.format(value))
-    }
-
-    override fun deserialize(decoder: Decoder): Date {
-        return df.parse(decoder.decodeString())!!
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
index e769dec78ea..bbb13638034 100644
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
+++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt
@@ -1,6 +1,5 @@
 package org.openapitools.client.infrastructure
 
-import java.util.Date
 import java.math.BigDecimal
 import java.math.BigInteger
 import java.time.LocalDate
@@ -20,7 +19,6 @@ object Serializer {
     val kotlinSerializationAdapters = SerializersModule {
         contextual(BigDecimal::class, BigDecimalAdapter)
         contextual(BigInteger::class, BigIntegerAdapter)
-        contextual(Date::class, DateAdapter)
         contextual(LocalDate::class, LocalDateAdapter)
         contextual(LocalDateTime::class, LocalDateTimeAdapter)
         contextual(OffsetDateTime::class, OffsetDateTimeAdapter)
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
index 04b505d1f17..ce4a64cc477 100644
--- a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index 90e791f37af..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import okhttp3.RequestBody
-import io.reactivex.rxjava3.core.Single;
-import io.reactivex.rxjava3.core.Completable;
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import okhttp3.MultipartBody
-
-interface PetApi {
-    /**
-     * Add a new pet to the store
-     * 
-     * Responses:
-     *  - 405: Invalid input
-     * 
-     * @param body Pet object that needs to be added to the store 
-     * @return [Call]<[Unit]>
-     */
-    @POST("pet")
-    fun addPet(@Body body: Pet): Completable
-
-    /**
-     * Deletes a pet
-     * 
-     * Responses:
-     *  - 400: Invalid pet value
-     * 
-     * @param petId Pet id to delete 
-     * @param apiKey  (optional)
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("pet/{petId}")
-    fun deletePet(@Path("petId") petId: kotlin.Long, @Header("api_key") apiKey: kotlin.String): Completable
-
-    /**
-     * Finds Pets by status
-     * Multiple status values can be provided with comma separated strings
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid status value
-     * 
-     * @param status Status values that need to be considered for filter 
-     * @return [Call]<[kotlin.collections.List<Pet>]>
-     */
-    @GET("pet/findByStatus")
-    fun findPetsByStatus(@Query("status") status: CSVParams): Single<kotlin.collections.List<Pet>>
-
-    /**
-     * Finds Pets by tags
-     * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid tag value
-     * 
-     * @param tags Tags to filter by 
-     * @return [Call]<[kotlin.collections.List<Pet>]>
-     */
-    @Deprecated("This api was deprecated")
-    @GET("pet/findByTags")
-    fun findPetsByTags(@Query("tags") tags: CSVParams): Single<kotlin.collections.List<Pet>>
-
-    /**
-     * Find pet by ID
-     * Returns a single pet
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid ID supplied
-     *  - 404: Pet not found
-     * 
-     * @param petId ID of pet to return 
-     * @return [Call]<[Pet]>
-     */
-    @GET("pet/{petId}")
-    fun getPetById(@Path("petId") petId: kotlin.Long): Single<Pet>
-
-    /**
-     * Update an existing pet
-     * 
-     * Responses:
-     *  - 400: Invalid ID supplied
-     *  - 404: Pet not found
-     *  - 405: Validation exception
-     * 
-     * @param body Pet object that needs to be added to the store 
-     * @return [Call]<[Unit]>
-     */
-    @PUT("pet")
-    fun updatePet(@Body body: Pet): Completable
-
-    /**
-     * Updates a pet in the store with form data
-     * 
-     * Responses:
-     *  - 405: Invalid input
-     * 
-     * @param petId ID of pet that needs to be updated 
-     * @param name Updated name of the pet (optional)
-     * @param status Updated status of the pet (optional)
-     * @return [Call]<[Unit]>
-     */
-    @FormUrlEncoded
-    @POST("pet/{petId}")
-    fun updatePetWithForm(@Path("petId") petId: kotlin.Long, @Field("name") name: kotlin.String, @Field("status") status: kotlin.String): Completable
-
-    /**
-     * uploads an image
-     * 
-     * Responses:
-     *  - 200: successful operation
-     * 
-     * @param petId ID of pet to update 
-     * @param additionalMetadata Additional data to pass to server (optional)
-     * @param file file to upload (optional)
-     * @return [Call]<[ApiResponse]>
-     */
-    @Multipart
-    @POST("pet/{petId}/uploadImage")
-    fun uploadFile(@Path("petId") petId: kotlin.Long, @Part("additionalMetadata") additionalMetadata: kotlin.String, @Part file: MultipartBody.Part): Single<ApiResponse>
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 11acb2eb8b7..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import okhttp3.RequestBody
-import io.reactivex.rxjava3.core.Single;
-import io.reactivex.rxjava3.core.Completable;
-
-import org.openapitools.client.models.Order
-
-interface StoreApi {
-    /**
-     * Delete purchase order by ID
-     * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-     * Responses:
-     *  - 400: Invalid ID supplied
-     *  - 404: Order not found
-     * 
-     * @param orderId ID of the order that needs to be deleted 
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("store/order/{orderId}")
-    fun deleteOrder(@Path("orderId") orderId: kotlin.String): Completable
-
-    /**
-     * Returns pet inventories by status
-     * Returns a map of status codes to quantities
-     * Responses:
-     *  - 200: successful operation
-     * 
-     * @return [Call]<[kotlin.collections.Map<kotlin.String, kotlin.Int>]>
-     */
-    @GET("store/inventory")
-    fun getInventory(): Single<kotlin.collections.Map<kotlin.String, kotlin.Int>>
-
-    /**
-     * Find purchase order by ID
-     * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid ID supplied
-     *  - 404: Order not found
-     * 
-     * @param orderId ID of pet that needs to be fetched 
-     * @return [Call]<[Order]>
-     */
-    @GET("store/order/{orderId}")
-    fun getOrderById(@Path("orderId") orderId: kotlin.Long): Single<Order>
-
-    /**
-     * Place an order for a pet
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid Order
-     * 
-     * @param body order placed for purchasing the pet 
-     * @return [Call]<[Order]>
-     */
-    @POST("store/order")
-    fun placeOrder(@Body body: Order): Single<Order>
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index d6fad78e88f..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import okhttp3.RequestBody
-import io.reactivex.rxjava3.core.Single;
-import io.reactivex.rxjava3.core.Completable;
-
-import org.openapitools.client.models.User
-
-interface UserApi {
-    /**
-     * Create user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body Created user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user")
-    fun createUser(@Body body: User): Completable
-
-    /**
-     * Creates list of users with given input array
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body List of user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user/createWithArray")
-    fun createUsersWithArrayInput(@Body body: kotlin.collections.List<User>): Completable
-
-    /**
-     * Creates list of users with given input array
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body List of user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user/createWithList")
-    fun createUsersWithListInput(@Body body: kotlin.collections.List<User>): Completable
-
-    /**
-     * Delete user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 400: Invalid username supplied
-     *  - 404: User not found
-     * 
-     * @param username The name that needs to be deleted 
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("user/{username}")
-    fun deleteUser(@Path("username") username: kotlin.String): Completable
-
-    /**
-     * Get user by user name
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid username supplied
-     *  - 404: User not found
-     * 
-     * @param username The name that needs to be fetched. Use user1 for testing. 
-     * @return [Call]<[User]>
-     */
-    @GET("user/{username}")
-    fun getUserByName(@Path("username") username: kotlin.String): Single<User>
-
-    /**
-     * Logs user into the system
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid username/password supplied
-     * 
-     * @param username The user name for login 
-     * @param password The password for login in clear text 
-     * @return [Call]<[kotlin.String]>
-     */
-    @GET("user/login")
-    fun loginUser(@Query("username") username: kotlin.String, @Query("password") password: kotlin.String): Single<kotlin.String>
-
-    /**
-     * Logs out current logged in user session
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @return [Call]<[Unit]>
-     */
-    @GET("user/logout")
-    fun logoutUser(): Completable
-
-    /**
-     * Updated user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 400: Invalid user supplied
-     *  - 404: User not found
-     * 
-     * @param username name that need to be deleted 
-     * @param body Updated user object 
-     * @return [Call]<[Unit]>
-     */
-    @PUT("user/{username}")
-    fun updateUser(@Path("username") username: kotlin.String, @Body body: User): Completable
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
deleted file mode 100644
index 524d5190ef8..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.openapitools.client.auth
-
-import java.io.IOException
-import java.net.URI
-import java.net.URISyntaxException
-
-import okhttp3.Interceptor
-import okhttp3.Response
-
-class ApiKeyAuth(
-        private val location: String = "",
-        private val paramName: String = "",
-        private var apiKey: String = ""
-) : Interceptor {
-    
-    @Throws(IOException::class)
-    override fun intercept(chain: Interceptor.Chain): Response {
-        var request = chain.request()
-
-        if ("query" == location) {
-            var newQuery = request.url.toUri().query
-            val paramValue = "$paramName=$apiKey"
-            if (newQuery == null) {
-                newQuery = paramValue
-            } else {
-                newQuery += "&$paramValue"
-            }
-
-            val newUri: URI
-            try {
-                val oldUri = request.url.toUri()
-                newUri = URI(oldUri.scheme, oldUri.authority,
-                    oldUri.path, newQuery, oldUri.fragment)
-            } catch (e: URISyntaxException) {
-                throw IOException(e)
-            }
-
-            request = request.newBuilder().url(newUri.toURL()).build()
-        } else if ("header" == location) {
-            request = request.newBuilder()
-                    .addHeader(paramName, apiKey)
-                    .build()
-        } else if ("cookie" == location) {
-            request = request.newBuilder()
-                    .addHeader("Cookie", "$paramName=$apiKey")
-                    .build()
-        }
-        return chain.proceed(request)
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuth.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuth.kt
deleted file mode 100644
index 311a8f43979..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuth.kt
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.openapitools.client.auth
-
-import java.net.HttpURLConnection.HTTP_UNAUTHORIZED
-import java.net.HttpURLConnection.HTTP_FORBIDDEN
-
-import java.io.IOException
-
-import org.apache.oltu.oauth2.client.OAuthClient
-import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder
-import org.apache.oltu.oauth2.common.exception.OAuthProblemException
-import org.apache.oltu.oauth2.common.exception.OAuthSystemException
-import org.apache.oltu.oauth2.common.message.types.GrantType
-import org.apache.oltu.oauth2.common.token.BasicOAuthToken
-
-import okhttp3.Interceptor
-import okhttp3.OkHttpClient
-import okhttp3.Response
-
-class OAuth(
-        client: OkHttpClient,
-        var tokenRequestBuilder: TokenRequestBuilder
-) : Interceptor {
-
-    interface AccessTokenListener {
-        fun notify(token: BasicOAuthToken)
-    }
-
-    private var oauthClient: OAuthClient = OAuthClient(OAuthOkHttpClient(client))
-
-    @Volatile 
-    private var accessToken: String? = null
-    var authenticationRequestBuilder: AuthenticationRequestBuilder? = null
-    private var accessTokenListener: AccessTokenListener? = null
-
-    constructor(
-            requestBuilder: TokenRequestBuilder
-    ) : this(
-            OkHttpClient(), 
-            requestBuilder
-    )
-
-    constructor(
-            flow: OAuthFlow, 
-            authorizationUrl: String, 
-            tokenUrl: String, 
-            scopes: String
-    ) : this(
-            OAuthClientRequest.tokenLocation(tokenUrl).setScope(scopes)
-    ) {
-        setFlow(flow);
-        authenticationRequestBuilder = OAuthClientRequest.authorizationLocation(authorizationUrl);
-    }
-
-    fun setFlow(flow: OAuthFlow) {
-        when (flow) {
-            OAuthFlow.accessCode, OAuthFlow.implicit ->
-                tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE)
-            OAuthFlow.password ->
-                tokenRequestBuilder.setGrantType(GrantType.PASSWORD)
-            OAuthFlow.application ->
-                tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS)
-        }            
-    }
-
-    @Throws(IOException::class)
-    override fun intercept(chain: Interceptor.Chain): Response {
-        return retryingIntercept(chain, true)
-    }
-
-    @Throws(IOException::class)
-    private fun retryingIntercept(chain: Interceptor.Chain, updateTokenAndRetryOnAuthorizationFailure: Boolean): Response {
-        var request = chain.request()
-
-        // If the request already have an authorization (eg. Basic auth), do nothing
-        if (request.header("Authorization") != null) {
-            return chain.proceed(request)
-        }
-
-        // If first time, get the token
-        val oAuthRequest: OAuthClientRequest
-        if (accessToken == null) {
-            updateAccessToken(null)
-        }
-
-        if (accessToken != null) {
-            // Build the request
-            val rb = request.newBuilder()
-
-            val requestAccessToken = accessToken
-            try {
-                oAuthRequest = OAuthBearerClientRequest(request.url.toString())
-                        .setAccessToken(requestAccessToken)
-                        .buildHeaderMessage()
-            } catch (e: OAuthSystemException) {
-                throw IOException(e)
-            }
-
-            oAuthRequest.headers.entries.forEach { header ->
-                rb.addHeader(header.key, header.value)
-            }
-            rb.url(oAuthRequest.locationUri)
-
-            //Execute the request
-            val response = chain.proceed(rb.build())
-
-            // 401/403 most likely indicates that access token has expired. Unless it happens two times in a row.
-            if ((response.code == HTTP_UNAUTHORIZED || response.code == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure) {
-                try {
-                    if (updateAccessToken(requestAccessToken)) {
-                        response.body?.close()
-                        return retryingIntercept(chain, false)
-                    }
-                } catch (e: Exception) {
-                    response.body?.close()
-                    throw e
-                }
-            }
-            return response
-        } else {
-            return chain.proceed(chain.request())
-        }
-    }
-
-    /**
-     * Returns true if the access token has been updated
-     */
-    @Throws(IOException::class)
-    @Synchronized 
-    fun updateAccessToken(requestAccessToken: String?): Boolean {
-        if (accessToken == null || accessToken.equals(requestAccessToken)) {    
-            return try {
-                val accessTokenResponse = oauthClient.accessToken(this.tokenRequestBuilder.buildBodyMessage())
-                if (accessTokenResponse != null && accessTokenResponse.accessToken != null) {
-                    accessToken = accessTokenResponse.accessToken
-                    accessTokenListener?.notify(accessTokenResponse.oAuthToken as BasicOAuthToken)
-                    !accessToken.equals(requestAccessToken)
-                } else {
-                    false
-                }
-            } catch (e: OAuthSystemException) {
-                throw IOException(e)
-            } catch (e: OAuthProblemException) {
-                throw IOException(e)
-            }
-        }
-        return true;
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthFlow.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthFlow.kt
deleted file mode 100644
index bcada9b7a6a..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthFlow.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.openapitools.client.auth
-
-enum class OAuthFlow {
-    accessCode, implicit, password, application
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
deleted file mode 100644
index 93adbda3fc9..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.openapitools.client.auth
-
-import java.io.IOException
-
-import org.apache.oltu.oauth2.client.HttpClient
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest
-import org.apache.oltu.oauth2.client.response.OAuthClientResponse
-import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory
-import org.apache.oltu.oauth2.common.exception.OAuthProblemException
-import org.apache.oltu.oauth2.common.exception.OAuthSystemException
-
-import okhttp3.OkHttpClient
-import okhttp3.Request
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.RequestBody
-
-
-class OAuthOkHttpClient(
-        private var client: OkHttpClient
-) : HttpClient {
-
-    constructor() : this(OkHttpClient())
-
-    @Throws(OAuthSystemException::class, OAuthProblemException::class)
-    override fun <T : OAuthClientResponse?> execute(
-            request: OAuthClientRequest, 
-            headers: Map<String, String>?,
-            requestMethod: String, 
-            responseClass: Class<T>?): T {
-
-        var mediaType = "application/json".toMediaTypeOrNull()
-        val requestBuilder = Request.Builder().url(request.locationUri)
-
-        headers?.forEach { entry ->
-            if (entry.key.equals("Content-Type", true)) {
-                mediaType = entry.value.toMediaTypeOrNull()
-            } else {
-                requestBuilder.addHeader(entry.key, entry.value)
-            }
-        }
-
-        val body: RequestBody? = if (request.body != null) RequestBody.create(mediaType, request.body) else null
-        requestBuilder.method(requestMethod, body)
-
-        try {
-            val response = client.newCall(requestBuilder.build()).execute()
-            return OAuthClientResponseFactory.createCustomResponse(
-                    response.body?.string(), 
-                    response.body?.contentType()?.toString(),
-                    response.code,
-                    responseClass)
-        } catch (e: IOException) {
-            throw OAuthSystemException(e)
-        }
-    }
-
-    override fun shutdown() {
-        // Nothing to do here
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 30f649932fc..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder
-import org.openapitools.client.auth.ApiKeyAuth
-import org.openapitools.client.auth.OAuth
-import org.openapitools.client.auth.OAuth.AccessTokenListener
-import org.openapitools.client.auth.OAuthFlow
-
-import okhttp3.Interceptor
-import okhttp3.OkHttpClient
-import retrofit2.Retrofit
-import okhttp3.logging.HttpLoggingInterceptor
-import retrofit2.converter.scalars.ScalarsConverterFactory
-import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory
-import com.squareup.moshi.Moshi
-import retrofit2.converter.moshi.MoshiConverterFactory
-
-class ApiClient(
-    private var baseUrl: String = defaultBasePath,
-    private val okHttpClientBuilder: OkHttpClient.Builder? = null,
-    private val serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-    private val okHttpClient : OkHttpClient? = null
-) {
-    private val apiAuthorizations = mutableMapOf<String, Interceptor>()
-    var logger: ((String) -> Unit)? = null
-
-    private val retrofitBuilder: Retrofit.Builder by lazy {
-        Retrofit.Builder()
-            .baseUrl(baseUrl)
-            .addConverterFactory(ScalarsConverterFactory.create())
-
-            .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
-            .addConverterFactory(MoshiConverterFactory.create(serializerBuilder.build()))
-    }
-
-    private val clientBuilder: OkHttpClient.Builder by lazy {
-        okHttpClientBuilder ?: defaultClientBuilder
-    }
-
-    private val defaultClientBuilder: OkHttpClient.Builder by lazy {
-        OkHttpClient()
-            .newBuilder()
-            .addInterceptor(HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger {
-                override fun log(message: String) {
-                    logger?.invoke(message)
-                }
-            }).apply {
-                level = HttpLoggingInterceptor.Level.BODY
-            })
-    }
-
-    init {
-        normalizeBaseUrl()
-    }
-
-    constructor(
-        baseUrl: String = defaultBasePath,
-        okHttpClientBuilder: OkHttpClient.Builder? = null,
-        serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-        authNames: Array<String>
-    ) : this(baseUrl, okHttpClientBuilder, serializerBuilder) {
-        authNames.forEach { authName ->
-            val auth = when (authName) {
-                "api_key" -> ApiKeyAuth("header", "api_key")"petstore_auth" -> OAuth(OAuthFlow.implicit, "http://petstore.swagger.io/api/oauth/dialog", "", "write:pets, read:pets")
-                else -> throw RuntimeException("auth name $authName not found in available auth names")
-            }
-            addAuthorization(authName, auth);
-        }
-    }
-
-    constructor(
-        baseUrl: String = defaultBasePath,
-        okHttpClientBuilder: OkHttpClient.Builder? = null,
-        serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-        authName: String,
-        clientId: String,
-        secret: String,
-        username: String,
-        password: String
-    ) : this(baseUrl, okHttpClientBuilder, serializerBuilder, arrayOf(authName)) {
-        getTokenEndPoint()
-            ?.setClientId(clientId)
-            ?.setClientSecret(secret)
-            ?.setUsername(username)
-            ?.setPassword(password)
-    }
-
-    /**
-    * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one)
-    * @return Token request builder
-    */
-    fun getTokenEndPoint(): TokenRequestBuilder? {
-        var result: TokenRequestBuilder? = null
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            result = tokenRequestBuilder
-        }
-        return result
-    }
-
-    /**
-    * Helper method to configure authorization endpoint of the first oauth found in the apiAuthorizations (there should be only one)
-    * @return Authentication request builder
-    */
-    fun getAuthorizationEndPoint(): AuthenticationRequestBuilder? {
-        var result: AuthenticationRequestBuilder? = null
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            result = authenticationRequestBuilder
-        }
-        return result
-    }
-
-    /**
-    * Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there should be only one)
-    * @param accessToken Access token
-    * @return ApiClient
-    */
-    fun setAccessToken(accessToken: String): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            setAccessToken(accessToken)
-        }
-        return this
-    }
-
-    /**
-    * Helper method to configure the oauth accessCode/implicit flow parameters
-    * @param clientId Client ID
-    * @param clientSecret Client secret
-    * @param redirectURI Redirect URI
-    * @return ApiClient
-    */
-    fun configureAuthorizationFlow(clientId: String, clientSecret: String, redirectURI: String): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            tokenRequestBuilder
-                .setClientId(clientId)
-                .setClientSecret(clientSecret)
-                .setRedirectURI(redirectURI)
-            authenticationRequestBuilder
-                ?.setClientId(clientId)
-                ?.setRedirectURI(redirectURI)
-        }
-        return this;
-    }
-
-    /**
-    * Configures a listener which is notified when a new access token is received.
-    * @param accessTokenListener Access token listener
-    * @return ApiClient
-    */
-    fun registerAccessTokenListener(accessTokenListener: AccessTokenListener): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            registerAccessTokenListener(accessTokenListener)
-        }
-        return this;
-    }
-
-    /**
-     * Adds an authorization to be used by the client
-     * @param authName Authentication name
-     * @param authorization Authorization interceptor
-     * @return ApiClient
-     */
-    fun addAuthorization(authName: String, authorization: Interceptor): ApiClient {
-        if (apiAuthorizations.containsKey(authName)) {
-            throw RuntimeException("auth name $authName already in api authorizations")
-        }
-        apiAuthorizations[authName] = authorization
-        clientBuilder.addInterceptor(authorization)
-        return this
-    }
-
-    fun setLogger(logger: (String) -> Unit): ApiClient {
-        this.logger = logger
-        return this
-    }
-
-    fun <S> createService(serviceClass: Class<S>): S {
-        val usedClient = this.okHttpClient ?: clientBuilder.build()
-        return retrofitBuilder.client(usedClient).build().create(serviceClass)
-    }
-
-    private fun normalizeBaseUrl() {
-        if (!baseUrl.endsWith("/")) {
-            baseUrl += "/"
-        }
-    }
-
-    private inline fun <T, reified U> Iterable<T>.runOnFirst(callback: U.() -> Unit) {
-        for (element in this) {
-            if (element is U)  {
-                callback.invoke(element)
-                break
-            }
-        }
-    }
-
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
deleted file mode 100644
index 001e99325d2..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.openapitools.client.infrastructure
-
-class CollectionFormats {
-
-    open class CSVParams {
-
-        var params: List<String>
-
-        constructor(params: List<String>) {
-            this.params = params
-        }
-
-        constructor(vararg params: String) {
-            this.params = listOf(*params)
-        }
-
-        override fun toString(): String {
-            return params.joinToString(",")
-        }
-    }
-
-    open class SSVParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString(" ")
-        }
-    }
-
-    class TSVParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString("\t")
-        }
-    }
-
-    class PIPESParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString("|")
-        }
-    }
-
-    class SPACEParams : SSVParams()
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
deleted file mode 100644
index 1804d1ae2bb..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.JsonDataException
-import com.squareup.moshi.Moshi
-import retrofit2.Response
-
-@Throws(JsonDataException::class)
-inline fun <reified T> Response<*>.getErrorResponse(serializerBuilder: Moshi.Builder = Serializer.moshiBuilder): T? {
-    val serializer = serializerBuilder.build()
-    val parser = serializer.adapter(T::class.java)
-    val response = errorBody()?.string()
-    if(response != null) {
-        return parser.fromJson(response)
-    }
-    return null
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fafca8738f6..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index a4c17c3b49d..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index a66c335904e..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index a3df06cb6eb..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 6e619023a5c..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index af1e270325d..00000000000
--- a/samples/client/petstore/kotlin-retrofit2-rx3/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
index 04b505d1f17..ce4a64cc477 100644
--- a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index e8b980bc872..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import retrofit2.Call
-import okhttp3.RequestBody
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import okhttp3.MultipartBody
-
-interface PetApi {
-    /**
-     * Add a new pet to the store
-     * 
-     * Responses:
-     *  - 405: Invalid input
-     * 
-     * @param body Pet object that needs to be added to the store 
-     * @return [Call]<[Unit]>
-     */
-    @POST("pet")
-    fun addPet(@Body body: Pet): Call<Unit>
-
-    /**
-     * Deletes a pet
-     * 
-     * Responses:
-     *  - 400: Invalid pet value
-     * 
-     * @param petId Pet id to delete 
-     * @param apiKey  (optional)
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("pet/{petId}")
-    fun deletePet(@Path("petId") petId: kotlin.Long, @Header("api_key") apiKey: kotlin.String): Call<Unit>
-
-    /**
-     * Finds Pets by status
-     * Multiple status values can be provided with comma separated strings
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid status value
-     * 
-     * @param status Status values that need to be considered for filter 
-     * @return [Call]<[kotlin.collections.List<Pet>]>
-     */
-    @GET("pet/findByStatus")
-    fun findPetsByStatus(@Query("status") status: CSVParams): Call<kotlin.collections.List<Pet>>
-
-    /**
-     * Finds Pets by tags
-     * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid tag value
-     * 
-     * @param tags Tags to filter by 
-     * @return [Call]<[kotlin.collections.List<Pet>]>
-     */
-    @Deprecated("This api was deprecated")
-    @GET("pet/findByTags")
-    fun findPetsByTags(@Query("tags") tags: CSVParams): Call<kotlin.collections.List<Pet>>
-
-    /**
-     * Find pet by ID
-     * Returns a single pet
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid ID supplied
-     *  - 404: Pet not found
-     * 
-     * @param petId ID of pet to return 
-     * @return [Call]<[Pet]>
-     */
-    @GET("pet/{petId}")
-    fun getPetById(@Path("petId") petId: kotlin.Long): Call<Pet>
-
-    /**
-     * Update an existing pet
-     * 
-     * Responses:
-     *  - 400: Invalid ID supplied
-     *  - 404: Pet not found
-     *  - 405: Validation exception
-     * 
-     * @param body Pet object that needs to be added to the store 
-     * @return [Call]<[Unit]>
-     */
-    @PUT("pet")
-    fun updatePet(@Body body: Pet): Call<Unit>
-
-    /**
-     * Updates a pet in the store with form data
-     * 
-     * Responses:
-     *  - 405: Invalid input
-     * 
-     * @param petId ID of pet that needs to be updated 
-     * @param name Updated name of the pet (optional)
-     * @param status Updated status of the pet (optional)
-     * @return [Call]<[Unit]>
-     */
-    @FormUrlEncoded
-    @POST("pet/{petId}")
-    fun updatePetWithForm(@Path("petId") petId: kotlin.Long, @Field("name") name: kotlin.String, @Field("status") status: kotlin.String): Call<Unit>
-
-    /**
-     * uploads an image
-     * 
-     * Responses:
-     *  - 200: successful operation
-     * 
-     * @param petId ID of pet to update 
-     * @param additionalMetadata Additional data to pass to server (optional)
-     * @param file file to upload (optional)
-     * @return [Call]<[ApiResponse]>
-     */
-    @Multipart
-    @POST("pet/{petId}/uploadImage")
-    fun uploadFile(@Path("petId") petId: kotlin.Long, @Part("additionalMetadata") additionalMetadata: kotlin.String, @Part file: MultipartBody.Part): Call<ApiResponse>
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index be05f2bb696..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import retrofit2.Call
-import okhttp3.RequestBody
-
-import org.openapitools.client.models.Order
-
-interface StoreApi {
-    /**
-     * Delete purchase order by ID
-     * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-     * Responses:
-     *  - 400: Invalid ID supplied
-     *  - 404: Order not found
-     * 
-     * @param orderId ID of the order that needs to be deleted 
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("store/order/{orderId}")
-    fun deleteOrder(@Path("orderId") orderId: kotlin.String): Call<Unit>
-
-    /**
-     * Returns pet inventories by status
-     * Returns a map of status codes to quantities
-     * Responses:
-     *  - 200: successful operation
-     * 
-     * @return [Call]<[kotlin.collections.Map<kotlin.String, kotlin.Int>]>
-     */
-    @GET("store/inventory")
-    fun getInventory(): Call<kotlin.collections.Map<kotlin.String, kotlin.Int>>
-
-    /**
-     * Find purchase order by ID
-     * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid ID supplied
-     *  - 404: Order not found
-     * 
-     * @param orderId ID of pet that needs to be fetched 
-     * @return [Call]<[Order]>
-     */
-    @GET("store/order/{orderId}")
-    fun getOrderById(@Path("orderId") orderId: kotlin.Long): Call<Order>
-
-    /**
-     * Place an order for a pet
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid Order
-     * 
-     * @param body order placed for purchasing the pet 
-     * @return [Call]<[Order]>
-     */
-    @POST("store/order")
-    fun placeOrder(@Body body: Order): Call<Order>
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 66c1e7fbd26..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.openapitools.client.apis
-
-import org.openapitools.client.infrastructure.CollectionFormats.*
-import retrofit2.http.*
-import retrofit2.Call
-import okhttp3.RequestBody
-
-import org.openapitools.client.models.User
-
-interface UserApi {
-    /**
-     * Create user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body Created user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user")
-    fun createUser(@Body body: User): Call<Unit>
-
-    /**
-     * Creates list of users with given input array
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body List of user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user/createWithArray")
-    fun createUsersWithArrayInput(@Body body: kotlin.collections.List<User>): Call<Unit>
-
-    /**
-     * Creates list of users with given input array
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @param body List of user object 
-     * @return [Call]<[Unit]>
-     */
-    @POST("user/createWithList")
-    fun createUsersWithListInput(@Body body: kotlin.collections.List<User>): Call<Unit>
-
-    /**
-     * Delete user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 400: Invalid username supplied
-     *  - 404: User not found
-     * 
-     * @param username The name that needs to be deleted 
-     * @return [Call]<[Unit]>
-     */
-    @DELETE("user/{username}")
-    fun deleteUser(@Path("username") username: kotlin.String): Call<Unit>
-
-    /**
-     * Get user by user name
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid username supplied
-     *  - 404: User not found
-     * 
-     * @param username The name that needs to be fetched. Use user1 for testing. 
-     * @return [Call]<[User]>
-     */
-    @GET("user/{username}")
-    fun getUserByName(@Path("username") username: kotlin.String): Call<User>
-
-    /**
-     * Logs user into the system
-     * 
-     * Responses:
-     *  - 200: successful operation
-     *  - 400: Invalid username/password supplied
-     * 
-     * @param username The user name for login 
-     * @param password The password for login in clear text 
-     * @return [Call]<[kotlin.String]>
-     */
-    @GET("user/login")
-    fun loginUser(@Query("username") username: kotlin.String, @Query("password") password: kotlin.String): Call<kotlin.String>
-
-    /**
-     * Logs out current logged in user session
-     * 
-     * Responses:
-     *  - 0: successful operation
-     * 
-     * @return [Call]<[Unit]>
-     */
-    @GET("user/logout")
-    fun logoutUser(): Call<Unit>
-
-    /**
-     * Updated user
-     * This can only be done by the logged in user.
-     * Responses:
-     *  - 400: Invalid user supplied
-     *  - 404: User not found
-     * 
-     * @param username name that need to be deleted 
-     * @param body Updated user object 
-     * @return [Call]<[Unit]>
-     */
-    @PUT("user/{username}")
-    fun updateUser(@Path("username") username: kotlin.String, @Body body: User): Call<Unit>
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
deleted file mode 100644
index 524d5190ef8..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/ApiKeyAuth.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.openapitools.client.auth
-
-import java.io.IOException
-import java.net.URI
-import java.net.URISyntaxException
-
-import okhttp3.Interceptor
-import okhttp3.Response
-
-class ApiKeyAuth(
-        private val location: String = "",
-        private val paramName: String = "",
-        private var apiKey: String = ""
-) : Interceptor {
-    
-    @Throws(IOException::class)
-    override fun intercept(chain: Interceptor.Chain): Response {
-        var request = chain.request()
-
-        if ("query" == location) {
-            var newQuery = request.url.toUri().query
-            val paramValue = "$paramName=$apiKey"
-            if (newQuery == null) {
-                newQuery = paramValue
-            } else {
-                newQuery += "&$paramValue"
-            }
-
-            val newUri: URI
-            try {
-                val oldUri = request.url.toUri()
-                newUri = URI(oldUri.scheme, oldUri.authority,
-                    oldUri.path, newQuery, oldUri.fragment)
-            } catch (e: URISyntaxException) {
-                throw IOException(e)
-            }
-
-            request = request.newBuilder().url(newUri.toURL()).build()
-        } else if ("header" == location) {
-            request = request.newBuilder()
-                    .addHeader(paramName, apiKey)
-                    .build()
-        } else if ("cookie" == location) {
-            request = request.newBuilder()
-                    .addHeader("Cookie", "$paramName=$apiKey")
-                    .build()
-        }
-        return chain.proceed(request)
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuth.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuth.kt
deleted file mode 100644
index 311a8f43979..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuth.kt
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.openapitools.client.auth
-
-import java.net.HttpURLConnection.HTTP_UNAUTHORIZED
-import java.net.HttpURLConnection.HTTP_FORBIDDEN
-
-import java.io.IOException
-
-import org.apache.oltu.oauth2.client.OAuthClient
-import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder
-import org.apache.oltu.oauth2.common.exception.OAuthProblemException
-import org.apache.oltu.oauth2.common.exception.OAuthSystemException
-import org.apache.oltu.oauth2.common.message.types.GrantType
-import org.apache.oltu.oauth2.common.token.BasicOAuthToken
-
-import okhttp3.Interceptor
-import okhttp3.OkHttpClient
-import okhttp3.Response
-
-class OAuth(
-        client: OkHttpClient,
-        var tokenRequestBuilder: TokenRequestBuilder
-) : Interceptor {
-
-    interface AccessTokenListener {
-        fun notify(token: BasicOAuthToken)
-    }
-
-    private var oauthClient: OAuthClient = OAuthClient(OAuthOkHttpClient(client))
-
-    @Volatile 
-    private var accessToken: String? = null
-    var authenticationRequestBuilder: AuthenticationRequestBuilder? = null
-    private var accessTokenListener: AccessTokenListener? = null
-
-    constructor(
-            requestBuilder: TokenRequestBuilder
-    ) : this(
-            OkHttpClient(), 
-            requestBuilder
-    )
-
-    constructor(
-            flow: OAuthFlow, 
-            authorizationUrl: String, 
-            tokenUrl: String, 
-            scopes: String
-    ) : this(
-            OAuthClientRequest.tokenLocation(tokenUrl).setScope(scopes)
-    ) {
-        setFlow(flow);
-        authenticationRequestBuilder = OAuthClientRequest.authorizationLocation(authorizationUrl);
-    }
-
-    fun setFlow(flow: OAuthFlow) {
-        when (flow) {
-            OAuthFlow.accessCode, OAuthFlow.implicit ->
-                tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE)
-            OAuthFlow.password ->
-                tokenRequestBuilder.setGrantType(GrantType.PASSWORD)
-            OAuthFlow.application ->
-                tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS)
-        }            
-    }
-
-    @Throws(IOException::class)
-    override fun intercept(chain: Interceptor.Chain): Response {
-        return retryingIntercept(chain, true)
-    }
-
-    @Throws(IOException::class)
-    private fun retryingIntercept(chain: Interceptor.Chain, updateTokenAndRetryOnAuthorizationFailure: Boolean): Response {
-        var request = chain.request()
-
-        // If the request already have an authorization (eg. Basic auth), do nothing
-        if (request.header("Authorization") != null) {
-            return chain.proceed(request)
-        }
-
-        // If first time, get the token
-        val oAuthRequest: OAuthClientRequest
-        if (accessToken == null) {
-            updateAccessToken(null)
-        }
-
-        if (accessToken != null) {
-            // Build the request
-            val rb = request.newBuilder()
-
-            val requestAccessToken = accessToken
-            try {
-                oAuthRequest = OAuthBearerClientRequest(request.url.toString())
-                        .setAccessToken(requestAccessToken)
-                        .buildHeaderMessage()
-            } catch (e: OAuthSystemException) {
-                throw IOException(e)
-            }
-
-            oAuthRequest.headers.entries.forEach { header ->
-                rb.addHeader(header.key, header.value)
-            }
-            rb.url(oAuthRequest.locationUri)
-
-            //Execute the request
-            val response = chain.proceed(rb.build())
-
-            // 401/403 most likely indicates that access token has expired. Unless it happens two times in a row.
-            if ((response.code == HTTP_UNAUTHORIZED || response.code == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure) {
-                try {
-                    if (updateAccessToken(requestAccessToken)) {
-                        response.body?.close()
-                        return retryingIntercept(chain, false)
-                    }
-                } catch (e: Exception) {
-                    response.body?.close()
-                    throw e
-                }
-            }
-            return response
-        } else {
-            return chain.proceed(chain.request())
-        }
-    }
-
-    /**
-     * Returns true if the access token has been updated
-     */
-    @Throws(IOException::class)
-    @Synchronized 
-    fun updateAccessToken(requestAccessToken: String?): Boolean {
-        if (accessToken == null || accessToken.equals(requestAccessToken)) {    
-            return try {
-                val accessTokenResponse = oauthClient.accessToken(this.tokenRequestBuilder.buildBodyMessage())
-                if (accessTokenResponse != null && accessTokenResponse.accessToken != null) {
-                    accessToken = accessTokenResponse.accessToken
-                    accessTokenListener?.notify(accessTokenResponse.oAuthToken as BasicOAuthToken)
-                    !accessToken.equals(requestAccessToken)
-                } else {
-                    false
-                }
-            } catch (e: OAuthSystemException) {
-                throw IOException(e)
-            } catch (e: OAuthProblemException) {
-                throw IOException(e)
-            }
-        }
-        return true;
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthFlow.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthFlow.kt
deleted file mode 100644
index bcada9b7a6a..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthFlow.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.openapitools.client.auth
-
-enum class OAuthFlow {
-    accessCode, implicit, password, application
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
deleted file mode 100644
index 93adbda3fc9..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/auth/OAuthOkHttpClient.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.openapitools.client.auth
-
-import java.io.IOException
-
-import org.apache.oltu.oauth2.client.HttpClient
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest
-import org.apache.oltu.oauth2.client.response.OAuthClientResponse
-import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory
-import org.apache.oltu.oauth2.common.exception.OAuthProblemException
-import org.apache.oltu.oauth2.common.exception.OAuthSystemException
-
-import okhttp3.OkHttpClient
-import okhttp3.Request
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.RequestBody
-
-
-class OAuthOkHttpClient(
-        private var client: OkHttpClient
-) : HttpClient {
-
-    constructor() : this(OkHttpClient())
-
-    @Throws(OAuthSystemException::class, OAuthProblemException::class)
-    override fun <T : OAuthClientResponse?> execute(
-            request: OAuthClientRequest, 
-            headers: Map<String, String>?,
-            requestMethod: String, 
-            responseClass: Class<T>?): T {
-
-        var mediaType = "application/json".toMediaTypeOrNull()
-        val requestBuilder = Request.Builder().url(request.locationUri)
-
-        headers?.forEach { entry ->
-            if (entry.key.equals("Content-Type", true)) {
-                mediaType = entry.value.toMediaTypeOrNull()
-            } else {
-                requestBuilder.addHeader(entry.key, entry.value)
-            }
-        }
-
-        val body: RequestBody? = if (request.body != null) RequestBody.create(mediaType, request.body) else null
-        requestBuilder.method(requestMethod, body)
-
-        try {
-            val response = client.newCall(requestBuilder.build()).execute()
-            return OAuthClientResponseFactory.createCustomResponse(
-                    response.body?.string(), 
-                    response.body?.contentType()?.toString(),
-                    response.code,
-                    responseClass)
-        } catch (e: IOException) {
-            throw OAuthSystemException(e)
-        }
-    }
-
-    override fun shutdown() {
-        // Nothing to do here
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index f19c5861dd7..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder
-import org.openapitools.client.auth.ApiKeyAuth
-import org.openapitools.client.auth.OAuth
-import org.openapitools.client.auth.OAuth.AccessTokenListener
-import org.openapitools.client.auth.OAuthFlow
-
-import okhttp3.Interceptor
-import okhttp3.OkHttpClient
-import retrofit2.Retrofit
-import okhttp3.logging.HttpLoggingInterceptor
-import retrofit2.converter.scalars.ScalarsConverterFactory
-import com.squareup.moshi.Moshi
-import retrofit2.converter.moshi.MoshiConverterFactory
-
-class ApiClient(
-    private var baseUrl: String = defaultBasePath,
-    private val okHttpClientBuilder: OkHttpClient.Builder? = null,
-    private val serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-    private val okHttpClient : OkHttpClient? = null
-) {
-    private val apiAuthorizations = mutableMapOf<String, Interceptor>()
-    var logger: ((String) -> Unit)? = null
-
-    private val retrofitBuilder: Retrofit.Builder by lazy {
-        Retrofit.Builder()
-            .baseUrl(baseUrl)
-            .addConverterFactory(ScalarsConverterFactory.create())
-            .addConverterFactory(MoshiConverterFactory.create(serializerBuilder.build()))
-    }
-
-    private val clientBuilder: OkHttpClient.Builder by lazy {
-        okHttpClientBuilder ?: defaultClientBuilder
-    }
-
-    private val defaultClientBuilder: OkHttpClient.Builder by lazy {
-        OkHttpClient()
-            .newBuilder()
-            .addInterceptor(HttpLoggingInterceptor(object : HttpLoggingInterceptor.Logger {
-                override fun log(message: String) {
-                    logger?.invoke(message)
-                }
-            }).apply {
-                level = HttpLoggingInterceptor.Level.BODY
-            })
-    }
-
-    init {
-        normalizeBaseUrl()
-    }
-
-    constructor(
-        baseUrl: String = defaultBasePath,
-        okHttpClientBuilder: OkHttpClient.Builder? = null,
-        serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-        authNames: Array<String>
-    ) : this(baseUrl, okHttpClientBuilder, serializerBuilder) {
-        authNames.forEach { authName ->
-            val auth = when (authName) {
-                "api_key" -> ApiKeyAuth("header", "api_key")"petstore_auth" -> OAuth(OAuthFlow.implicit, "http://petstore.swagger.io/api/oauth/dialog", "", "write:pets, read:pets")
-                else -> throw RuntimeException("auth name $authName not found in available auth names")
-            }
-            addAuthorization(authName, auth);
-        }
-    }
-
-    constructor(
-        baseUrl: String = defaultBasePath,
-        okHttpClientBuilder: OkHttpClient.Builder? = null,
-        serializerBuilder: Moshi.Builder = Serializer.moshiBuilder,
-        authName: String,
-        clientId: String,
-        secret: String,
-        username: String,
-        password: String
-    ) : this(baseUrl, okHttpClientBuilder, serializerBuilder, arrayOf(authName)) {
-        getTokenEndPoint()
-            ?.setClientId(clientId)
-            ?.setClientSecret(secret)
-            ?.setUsername(username)
-            ?.setPassword(password)
-    }
-
-    /**
-    * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one)
-    * @return Token request builder
-    */
-    fun getTokenEndPoint(): TokenRequestBuilder? {
-        var result: TokenRequestBuilder? = null
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            result = tokenRequestBuilder
-        }
-        return result
-    }
-
-    /**
-    * Helper method to configure authorization endpoint of the first oauth found in the apiAuthorizations (there should be only one)
-    * @return Authentication request builder
-    */
-    fun getAuthorizationEndPoint(): AuthenticationRequestBuilder? {
-        var result: AuthenticationRequestBuilder? = null
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            result = authenticationRequestBuilder
-        }
-        return result
-    }
-
-    /**
-    * Helper method to pre-set the oauth access token of the first oauth found in the apiAuthorizations (there should be only one)
-    * @param accessToken Access token
-    * @return ApiClient
-    */
-    fun setAccessToken(accessToken: String): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            setAccessToken(accessToken)
-        }
-        return this
-    }
-
-    /**
-    * Helper method to configure the oauth accessCode/implicit flow parameters
-    * @param clientId Client ID
-    * @param clientSecret Client secret
-    * @param redirectURI Redirect URI
-    * @return ApiClient
-    */
-    fun configureAuthorizationFlow(clientId: String, clientSecret: String, redirectURI: String): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            tokenRequestBuilder
-                .setClientId(clientId)
-                .setClientSecret(clientSecret)
-                .setRedirectURI(redirectURI)
-            authenticationRequestBuilder
-                ?.setClientId(clientId)
-                ?.setRedirectURI(redirectURI)
-        }
-        return this;
-    }
-
-    /**
-    * Configures a listener which is notified when a new access token is received.
-    * @param accessTokenListener Access token listener
-    * @return ApiClient
-    */
-    fun registerAccessTokenListener(accessTokenListener: AccessTokenListener): ApiClient {
-        apiAuthorizations.values.runOnFirst<Interceptor, OAuth> {
-            registerAccessTokenListener(accessTokenListener)
-        }
-        return this;
-    }
-
-    /**
-     * Adds an authorization to be used by the client
-     * @param authName Authentication name
-     * @param authorization Authorization interceptor
-     * @return ApiClient
-     */
-    fun addAuthorization(authName: String, authorization: Interceptor): ApiClient {
-        if (apiAuthorizations.containsKey(authName)) {
-            throw RuntimeException("auth name $authName already in api authorizations")
-        }
-        apiAuthorizations[authName] = authorization
-        clientBuilder.addInterceptor(authorization)
-        return this
-    }
-
-    fun setLogger(logger: (String) -> Unit): ApiClient {
-        this.logger = logger
-        return this
-    }
-
-    fun <S> createService(serviceClass: Class<S>): S {
-        val usedClient = this.okHttpClient ?: clientBuilder.build()
-        return retrofitBuilder.client(usedClient).build().create(serviceClass)
-    }
-
-    private fun normalizeBaseUrl() {
-        if (!baseUrl.endsWith("/")) {
-            baseUrl += "/"
-        }
-    }
-
-    private inline fun <T, reified U> Iterable<T>.runOnFirst(callback: U.() -> Unit) {
-        for (element in this) {
-            if (element is U)  {
-                callback.invoke(element)
-                break
-            }
-        }
-    }
-
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
deleted file mode 100644
index 001e99325d2..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/CollectionFormats.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.openapitools.client.infrastructure
-
-class CollectionFormats {
-
-    open class CSVParams {
-
-        var params: List<String>
-
-        constructor(params: List<String>) {
-            this.params = params
-        }
-
-        constructor(vararg params: String) {
-            this.params = listOf(*params)
-        }
-
-        override fun toString(): String {
-            return params.joinToString(",")
-        }
-    }
-
-    open class SSVParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString(" ")
-        }
-    }
-
-    class TSVParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString("\t")
-        }
-    }
-
-    class PIPESParams : CSVParams {
-
-        constructor(params: List<String>) : super(params)
-
-        constructor(vararg params: String) : super(*params)
-
-        override fun toString(): String {
-            return params.joinToString("|")
-        }
-    }
-
-    class SPACEParams : SSVParams()
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
deleted file mode 100644
index 1804d1ae2bb..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/ResponseExt.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.JsonDataException
-import com.squareup.moshi.Moshi
-import retrofit2.Response
-
-@Throws(JsonDataException::class)
-inline fun <reified T> Response<*>.getErrorResponse(serializerBuilder: Moshi.Builder = Serializer.moshiBuilder): T? {
-    val serializer = serializerBuilder.build()
-    val parser = serializer.adapter(T::class.java)
-    val response = errorBody()?.string()
-    if(response != null) {
-        return parser.fromJson(response)
-    }
-    return null
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fafca8738f6..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index a4c17c3b49d..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index a66c335904e..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index a3df06cb6eb..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 6e619023a5c..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index af1e270325d..00000000000
--- a/samples/client/petstore/kotlin-retrofit2/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-string/.openapi-generator/FILES b/samples/client/petstore/kotlin-string/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-string/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-string/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index 4fbeccdbc00..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param apiKey  (optional)
-    * @param petId Pet id to delete 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(apiKey: kotlin.String?, petId: kotlin.Long) : Unit {
-        val localVariableConfig = deletePetRequestConfig(apiKey = apiKey, petId = petId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param apiKey  (optional)
-    * @param petId Pet id to delete 
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(apiKey: kotlin.String?, petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 7a8dcc91cd4..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index 7d40c8efbc2..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index ceb0fbc8fe6..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index ec768d1acef..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: kotlin.String? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index 66667bf07cd..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A pet for sale in the pet store
- * @param id 
- * @param category 
- * @param name 
- * @param photoUrls 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 944b1cd0a14..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 9697f07d5bf..00000000000
--- a/samples/client/petstore/kotlin-string/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c75d4889d2e..003c196213f 100644
--- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -248,7 +247,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-string/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 135bcdc790e..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import org.threeten.bp.LocalDate
-import org.threeten.bp.LocalDateTime
-import org.threeten.bp.LocalTime
-import org.threeten.bp.OffsetDateTime
-import org.threeten.bp.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index ff5439aeb42..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import org.threeten.bp.LocalDate
-import org.threeten.bp.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index 710a9cc1317..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import org.threeten.bp.LocalDateTime
-import org.threeten.bp.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 28b3eb3cd70..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import org.threeten.bp.OffsetDateTime
-import org.threeten.bp.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index fafca8738f6..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index a4c17c3b49d..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index 300f94d8545..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: org.threeten.bp.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) {
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index a3df06cb6eb..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) {
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 6e619023a5c..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-)
-
diff --git a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index af1e270325d..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-)
-
diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index f82c6d3fa4c..5518df5e8aa 100644
--- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -20,7 +20,6 @@ import java.io.File
 import java.io.FileWriter
 import java.io.IOException
 import java.net.URLConnection
-import java.util.Date
 import java.util.Locale
 import org.threeten.bp.LocalDate
 import org.threeten.bp.LocalDateTime
@@ -248,7 +247,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-threetenbp/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
index c817d802484..400b0a0f077 100644
--- a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/EnumApi.md
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/apis/EnumApi.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/apis/EnumApi.kt
deleted file mode 100644
index e504c876ce6..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/apis/EnumApi.kt
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
-* OpenAPI Petstore
-* Test for issue 4062
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.PetEnum
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class EnumApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Get enums
-    * 
-    * @return PetEnum
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getEnum() : PetEnum {
-        val localVariableConfig = getEnumRequestConfig()
-
-        val localVarResponse = request<PetEnum>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as PetEnum
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getEnum
-    *
-    * @return RequestConfig
-    */
-    fun getEnumRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/enum",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index c34e9e42d08..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,232 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/models/PetEnum.kt b/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/models/PetEnum.kt
deleted file mode 100644
index a447bf92052..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/bin/main/org/openapitools/client/models/PetEnum.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
-* OpenAPI Petstore
-* Test for issue 4062
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-
-/**
-* An enum with complex-ish naming
-* Values: MY_FIRST_VALUE,MY_SECOND_VALUE
-*/
-
-enum class PetEnum(val value: kotlin.String){
-
-
-    @Json(name = "myFirstValue")
-    MY_FIRST_VALUE("myFirstValue"),
-
-
-    @Json(name = "MY_SECOND_VALUE")
-    MY_SECOND_VALUE("MY_SECOND_VALUE");
-
-
-
-    /**
-    This override toString avoids using the enum var name and uses the actual api value instead.
-    In cases the var name and value are different, the client would send incorrect enums to the server.
-    **/
-    override fun toString(): String {
-        return value
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index 634abe57b90..fe329374e47 100644
--- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -229,7 +228,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin-uppercase-enum/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/.openapi-generator/FILES b/samples/client/petstore/kotlin/.openapi-generator/FILES
index 16c712325f8..e44407e011d 100644
--- a/samples/client/petstore/kotlin/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/PetApi.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/PetApi.kt
deleted file mode 100644
index c8b93b33bf6..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/PetApi.kt
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.ApiResponse
-import org.openapitools.client.models.Pet
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class PetApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Add a new pet to the store
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun addPet(body: Pet) : Unit {
-        val localVariableConfig = addPetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation addPet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun addPetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Deletes a pet
-    * 
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?) : Unit {
-        val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deletePet
-    *
-    * @param petId Pet id to delete 
-    * @param apiKey  (optional)
-    * @return RequestConfig
-    */
-    fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        apiKey?.apply { localVariableHeaders["api_key"] = this.toString() }
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by status
-    * Multiple status values can be provided with comma separated strings
-    * @param status Status values that need to be considered for filter 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByStatusRequestConfig(status = status)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByStatus
-    *
-    * @param status Status values that need to be considered for filter 
-    * @return RequestConfig
-    */
-    fun findPetsByStatusRequestConfig(status: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("status", toMultiValue(status.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByStatus",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Finds Pets by tags
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    * @param tags Tags to filter by 
-    * @return kotlin.collections.List<Pet>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>) : kotlin.collections.List<Pet> {
-        val localVariableConfig = findPetsByTagsRequestConfig(tags = tags)
-
-        val localVarResponse = request<kotlin.collections.List<Pet>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.List<Pet>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation findPetsByTags
-    *
-    * @param tags Tags to filter by 
-    * @return RequestConfig
-    */
-    @Deprecated(message = "This operation is deprecated.")
-    fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("tags", toMultiValue(tags.toList(), "csv"))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/findByTags",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find pet by ID
-    * Returns a single pet
-    * @param petId ID of pet to return 
-    * @return Pet
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getPetById(petId: kotlin.Long) : Pet {
-        val localVariableConfig = getPetByIdRequestConfig(petId = petId)
-
-        val localVarResponse = request<Pet>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Pet
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getPetById
-    *
-    * @param petId ID of pet to return 
-    * @return RequestConfig
-    */
-    fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Update an existing pet
-    * 
-    * @param body Pet object that needs to be added to the store 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePet(body: Pet) : Unit {
-        val localVariableConfig = updatePetRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePet
-    *
-    * @param body Pet object that needs to be added to the store 
-    * @return RequestConfig
-    */
-    fun updatePetRequestConfig(body: Pet) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/pet",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updates a pet in the store with form data
-    * 
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : Unit {
-        val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updatePetWithForm
-    *
-    * @param petId ID of pet that needs to be updated 
-    * @param name Updated name of the pet (optional)
-    * @param status Updated status of the pet (optional)
-    * @return RequestConfig
-    */
-    fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("name" to name, "status" to status)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * uploads an image
-    * 
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return ApiResponse
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : ApiResponse {
-        val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file)
-
-        val localVarResponse = request<ApiResponse>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as ApiResponse
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation uploadFile
-    *
-    * @param petId ID of pet to update 
-    * @param additionalMetadata Additional data to pass to server (optional)
-    * @param file file to upload (optional)
-    * @return RequestConfig
-    */
-    fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig {
-        val localVariableBody: kotlin.Any? = mapOf("additionalMetadata" to additionalMetadata, "file" to file)
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data")
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", "$petId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/StoreApi.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/StoreApi.kt
deleted file mode 100644
index 215ed63420c..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/StoreApi.kt
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.Order
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class StoreApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Delete purchase order by ID
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    * @param orderId ID of the order that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteOrder(orderId: kotlin.String) : Unit {
-        val localVariableConfig = deleteOrderRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteOrder
-    *
-    * @param orderId ID of the order that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Returns pet inventories by status
-    * Returns a map of status codes to quantities
-    * @return kotlin.collections.Map<kotlin.String, kotlin.Int>
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getInventory() : kotlin.collections.Map<kotlin.String, kotlin.Int> {
-        val localVariableConfig = getInventoryRequestConfig()
-
-        val localVarResponse = request<kotlin.collections.Map<kotlin.String, kotlin.Int>>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.collections.Map<kotlin.String, kotlin.Int>
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getInventory
-    *
-    * @return RequestConfig
-    */
-    fun getInventoryRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/inventory",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Find purchase order by ID
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    * @param orderId ID of pet that needs to be fetched 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getOrderById(orderId: kotlin.Long) : Order {
-        val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getOrderById
-    *
-    * @param orderId ID of pet that needs to be fetched 
-    * @return RequestConfig
-    */
-    fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/store/order/{orderId}".replace("{"+"orderId"+"}", "$orderId"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Place an order for a pet
-    * 
-    * @param body order placed for purchasing the pet 
-    * @return Order
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun placeOrder(body: Order) : Order {
-        val localVariableConfig = placeOrderRequestConfig(body = body)
-
-        val localVarResponse = request<Order>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as Order
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation placeOrder
-    *
-    * @param body order placed for purchasing the pet 
-    * @return RequestConfig
-    */
-    fun placeOrderRequestConfig(body: Order) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/store/order",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/UserApi.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/UserApi.kt
deleted file mode 100644
index 53748b93463..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/apis/UserApi.kt
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.apis
-
-import org.openapitools.client.models.User
-
-import org.openapitools.client.infrastructure.ApiClient
-import org.openapitools.client.infrastructure.ClientException
-import org.openapitools.client.infrastructure.ClientError
-import org.openapitools.client.infrastructure.ServerException
-import org.openapitools.client.infrastructure.ServerError
-import org.openapitools.client.infrastructure.MultiValueMap
-import org.openapitools.client.infrastructure.RequestConfig
-import org.openapitools.client.infrastructure.RequestMethod
-import org.openapitools.client.infrastructure.ResponseType
-import org.openapitools.client.infrastructure.Success
-import org.openapitools.client.infrastructure.toMultiValue
-
-class UserApi(basePath: kotlin.String = defaultBasePath) : ApiClient(basePath) {
-    companion object {
-        @JvmStatic
-        val defaultBasePath: String by lazy {
-            System.getProperties().getProperty("org.openapitools.client.baseUrl", "http://petstore.swagger.io/v2")
-        }
-    }
-
-    /**
-    * Create user
-    * This can only be done by the logged in user.
-    * @param body Created user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUser(body: User) : Unit {
-        val localVariableConfig = createUserRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUser
-    *
-    * @param body Created user object 
-    * @return RequestConfig
-    */
-    fun createUserRequestConfig(body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithArrayInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithArrayInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithArrayInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithArrayInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithArray",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Creates list of users with given input array
-    * 
-    * @param body List of user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun createUsersWithListInput(body: kotlin.collections.List<User>) : Unit {
-        val localVariableConfig = createUsersWithListInputRequestConfig(body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation createUsersWithListInput
-    *
-    * @param body List of user object 
-    * @return RequestConfig
-    */
-    fun createUsersWithListInputRequestConfig(body: kotlin.collections.List<User>) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.POST,
-            path = "/user/createWithList",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Delete user
-    * This can only be done by the logged in user.
-    * @param username The name that needs to be deleted 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun deleteUser(username: kotlin.String) : Unit {
-        val localVariableConfig = deleteUserRequestConfig(username = username)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation deleteUser
-    *
-    * @param username The name that needs to be deleted 
-    * @return RequestConfig
-    */
-    fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.DELETE,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Get user by user name
-    * 
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return User
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun getUserByName(username: kotlin.String) : User {
-        val localVariableConfig = getUserByNameRequestConfig(username = username)
-
-        val localVarResponse = request<User>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as User
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation getUserByName
-    *
-    * @param username The name that needs to be fetched. Use user1 for testing. 
-    * @return RequestConfig
-    */
-    fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs user into the system
-    * 
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return kotlin.String
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Suppress("UNCHECKED_CAST")
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun loginUser(username: kotlin.String, password: kotlin.String) : kotlin.String {
-        val localVariableConfig = loginUserRequestConfig(username = username, password = password)
-
-        val localVarResponse = request<kotlin.String>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> (localVarResponse as Success<*>).data as kotlin.String
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation loginUser
-    *
-    * @param username The user name for login 
-    * @param password The password for login in clear text 
-    * @return RequestConfig
-    */
-    fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf<kotlin.String, List<kotlin.String>>()
-            .apply {
-                put("username", listOf(username.toString()))
-                put("password", listOf(password.toString()))
-            }
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/login",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Logs out current logged in user session
-    * 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun logoutUser() : Unit {
-        val localVariableConfig = logoutUserRequestConfig()
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation logoutUser
-    *
-    * @return RequestConfig
-    */
-    fun logoutUserRequestConfig() : RequestConfig {
-        val localVariableBody: kotlin.Any? = null
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.GET,
-            path = "/user/logout",
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-    /**
-    * Updated user
-    * This can only be done by the logged in user.
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return void
-    * @throws UnsupportedOperationException If the API returns an informational or redirection response
-    * @throws ClientException If the API returns a client error response
-    * @throws ServerException If the API returns a server error response
-    */
-    @Throws(UnsupportedOperationException::class, ClientException::class, ServerException::class)
-    fun updateUser(username: kotlin.String, body: User) : Unit {
-        val localVariableConfig = updateUserRequestConfig(username = username, body = body)
-
-        val localVarResponse = request<Any?>(
-            localVariableConfig
-        )
-
-        return when (localVarResponse.responseType) {
-            ResponseType.Success -> Unit
-            ResponseType.Informational -> throw UnsupportedOperationException("Client does not support Informational responses.")
-            ResponseType.Redirection -> throw UnsupportedOperationException("Client does not support Redirection responses.")
-            ResponseType.ClientError -> {
-                val localVarError = localVarResponse as ClientError<*>
-                throw ClientException("Client error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-            ResponseType.ServerError -> {
-                val localVarError = localVarResponse as ServerError<*>
-                throw ServerException("Server error : ${localVarError.statusCode} ${localVarError.message.orEmpty()}", localVarError.statusCode, localVarResponse)
-            }
-        }
-    }
-
-    /**
-    * To obtain the request config of the operation updateUser
-    *
-    * @param username name that need to be deleted 
-    * @param body Updated user object 
-    * @return RequestConfig
-    */
-    fun updateUserRequestConfig(username: kotlin.String, body: User) : RequestConfig {
-        val localVariableBody: kotlin.Any? = body
-        val localVariableQuery: MultiValueMap = mutableMapOf()
-        val localVariableHeaders: MutableMap<String, String> = mutableMapOf()
-        
-        val localVariableConfig = RequestConfig(
-            method = RequestMethod.PUT,
-            path = "/user/{username}".replace("{"+"username"+"}", "$username"),
-            query = localVariableQuery,
-            headers = localVariableHeaders,
-            body = localVariableBody
-        )
-
-        return localVariableConfig
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
deleted file mode 100644
index ef7a8f1e1a6..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiAbstractions.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openapitools.client.infrastructure
-
-typealias MultiValueMap = MutableMap<String,List<String>>
-
-fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) {
-    "csv" -> ","
-    "tsv" -> "\t"
-    "pipe" -> "|"
-    "space" -> " "
-    else -> ""
-}
-
-val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" }
-
-fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter)
-        = toMultiValue(items.asIterable(), collectionFormat, map)
-
-fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> {
-    return when(collectionFormat) {
-        "multi" -> items.map(map)
-        else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map))
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
deleted file mode 100644
index 7a8dcc91cd4..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiClient.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Credentials
-import okhttp3.OkHttpClient
-import okhttp3.RequestBody
-import okhttp3.RequestBody.Companion.asRequestBody
-import okhttp3.RequestBody.Companion.toRequestBody
-import okhttp3.FormBody
-import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
-import okhttp3.ResponseBody
-import okhttp3.MediaType.Companion.toMediaTypeOrNull
-import okhttp3.Request
-import okhttp3.Headers
-import okhttp3.MultipartBody
-import java.io.File
-import java.net.URLConnection
-import java.util.Date
-import java.time.LocalDate
-import java.time.LocalDateTime
-import java.time.LocalTime
-import java.time.OffsetDateTime
-import java.time.OffsetTime
-
-open class ApiClient(val baseUrl: String) {
-    companion object {
-        protected const val ContentType = "Content-Type"
-        protected const val Accept = "Accept"
-        protected const val Authorization = "Authorization"
-        protected const val JsonMediaType = "application/json"
-        protected const val FormDataMediaType = "multipart/form-data"
-        protected const val FormUrlEncMediaType = "application/x-www-form-urlencoded"
-        protected const val XmlMediaType = "application/xml"
-
-        val apiKey: MutableMap<String, String> = mutableMapOf()
-        val apiKeyPrefix: MutableMap<String, String> = mutableMapOf()
-        var username: String? = null
-        var password: String? = null
-        var accessToken: String? = null
-
-        @JvmStatic
-        val client: OkHttpClient by lazy {
-            builder.build()
-        }
-
-        @JvmStatic
-        val builder: OkHttpClient.Builder = OkHttpClient.Builder()
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    protected fun guessContentTypeFromFile(file: File): String {
-        val contentType = URLConnection.guessContentTypeFromName(file.name)
-        return contentType ?: "application/octet-stream"
-    }
-
-    protected inline fun <reified T> requestBody(content: T, mediaType: String = JsonMediaType): RequestBody =
-        when {
-            content is File -> content.asRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == FormDataMediaType -> {
-                MultipartBody.Builder()
-                    .setType(MultipartBody.FORM)
-                    .apply {
-                        // content's type *must* be Map<String, Any?>
-                        @Suppress("UNCHECKED_CAST")
-                        (content as Map<String, Any?>).forEach { (key, value) ->
-                            if (value is File) {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\"; filename=\"${value.name}\""
-                                )
-                                val fileMediaType = guessContentTypeFromFile(value).toMediaTypeOrNull()
-                                addPart(partHeaders, value.asRequestBody(fileMediaType))
-                            } else {
-                                val partHeaders = Headers.headersOf(
-                                    "Content-Disposition",
-                                    "form-data; name=\"$key\""
-                                )
-                                addPart(
-                                    partHeaders,
-                                    parameterToString(value).toRequestBody(null)
-                                )
-                            }
-                        }
-                    }.build()
-            }
-            mediaType == FormUrlEncMediaType -> {
-                FormBody.Builder().apply {
-                    // content's type *must* be Map<String, Any?>
-                    @Suppress("UNCHECKED_CAST")
-                    (content as Map<String, Any?>).forEach { (key, value) ->
-                        add(key, parameterToString(value))
-                    }
-                }.build()
-            }
-            mediaType == JsonMediaType -> Serializer.moshi.adapter(T::class.java).toJson(content).toRequestBody(
-                mediaType.toMediaTypeOrNull()
-            )
-            mediaType == XmlMediaType -> throw UnsupportedOperationException("xml not currently supported.")
-            // TODO: this should be extended with other serializers
-            else -> throw UnsupportedOperationException("requestBody currently only supports JSON body and File body.")
-        }
-
-    protected inline fun <reified T: Any?> responseBody(body: ResponseBody?, mediaType: String? = JsonMediaType): T? {
-        if(body == null) {
-            return null
-        }
-        val bodyContent = body.string()
-        if (bodyContent.isEmpty()) {
-            return null
-        }
-        return when(mediaType) {
-            JsonMediaType -> Serializer.moshi.adapter(T::class.java).fromJson(bodyContent)
-            else ->  throw UnsupportedOperationException("responseBody currently only supports JSON body.")
-        }
-    }
-
-    protected fun updateAuthParams(requestConfig: RequestConfig) {
-        if (requestConfig.headers["api_key"].isNullOrEmpty()) {
-            if (apiKey["api_key"] != null) {
-                if (apiKeyPrefix["api_key"] != null) {
-                    requestConfig.headers["api_key"] = apiKeyPrefix["api_key"]!! + " " + apiKey["api_key"]!!
-                } else {
-                    requestConfig.headers["api_key"] = apiKey["api_key"]!!
-                }
-            }
-        }
-        if (requestConfig.headers[Authorization].isNullOrEmpty()) {
-            accessToken?.let { accessToken ->
-                requestConfig.headers[Authorization] = "Bearer $accessToken "
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any?> request(requestConfig: RequestConfig): ApiInfrastructureResponse<T?> {
-        val httpUrl = baseUrl.toHttpUrlOrNull() ?: throw IllegalStateException("baseUrl is invalid.")
-
-        // take authMethod from operation
-        updateAuthParams(requestConfig)
-
-        val url = httpUrl.newBuilder()
-            .addPathSegments(requestConfig.path.trimStart('/'))
-            .apply {
-                requestConfig.query.forEach { query ->
-                    query.value.forEach { queryValue ->
-                        addQueryParameter(query.key, queryValue)
-                    }
-                }
-            }.build()
-
-        // take content-type/accept from spec or set to default (application/json) if not defined
-        if (requestConfig.headers[ContentType].isNullOrEmpty()) {
-            requestConfig.headers[ContentType] = JsonMediaType
-        }
-        if (requestConfig.headers[Accept].isNullOrEmpty()) {
-            requestConfig.headers[Accept] = JsonMediaType
-        }
-        val headers = requestConfig.headers
-
-        if(headers[ContentType] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Content-Type header. This is required.")
-        }
-
-        if(headers[Accept] ?: "" == "") {
-            throw kotlin.IllegalStateException("Missing Accept header. This is required.")
-        }
-
-        // TODO: support multiple contentType options here.
-        val contentType = (headers[ContentType] as String).substringBefore(";").toLowerCase()
-
-        val request = when (requestConfig.method) {
-            RequestMethod.DELETE -> Request.Builder().url(url).delete(requestBody(requestConfig.body, contentType))
-            RequestMethod.GET -> Request.Builder().url(url)
-            RequestMethod.HEAD -> Request.Builder().url(url).head()
-            RequestMethod.PATCH -> Request.Builder().url(url).patch(requestBody(requestConfig.body, contentType))
-            RequestMethod.PUT -> Request.Builder().url(url).put(requestBody(requestConfig.body, contentType))
-            RequestMethod.POST -> Request.Builder().url(url).post(requestBody(requestConfig.body, contentType))
-            RequestMethod.OPTIONS -> Request.Builder().url(url).method("OPTIONS", null)
-        }.apply {
-            headers.forEach { header -> addHeader(header.key, header.value) }
-        }.build()
-
-        val response = client.newCall(request).execute()
-        val accept = response.header(ContentType)?.substringBefore(";")?.toLowerCase()
-
-        // TODO: handle specific mapping types. e.g. Map<int, Class<?>>
-        when {
-            response.isRedirect -> return Redirection(
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isInformational -> return Informational(
-                    response.message,
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isSuccessful -> return Success(
-                    responseBody(response.body, accept),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            response.isClientError -> return ClientError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-            else -> return ServerError(
-                    response.message,
-                    response.body?.string(),
-                    response.code,
-                    response.headers.toMultimap()
-            )
-        }
-    }
-
-    protected fun parameterToString(value: Any?): String {
-        when (value) {
-            null -> {
-                return ""
-            }
-            is Array<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is Iterable<*> -> {
-                return toMultiValue(value, "csv").toString()
-            }
-            is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date -> {
-                return parseDateToQueryString<Any>(value)
-            }
-            else -> {
-                return value.toString()
-            }
-        }
-    }
-
-    protected inline fun <reified T: Any> parseDateToQueryString(value : T): String {
-        /*
-        .replace("\"", "") converts the json object string to an actual string for the query parameter.
-        The moshi or gson adapter allows a more generic solution instead of trying to use a native
-        formatter. It also easily allows to provide a simple way to define a custom date format pattern
-        inside a gson/moshi adapter.
-        */
-        return Serializer.moshi.adapter(T::class.java).toJson(value).replace("\"", "")
-    }
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
deleted file mode 100644
index 9dc8d8dbbfa..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApiInfrastructureResponse.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openapitools.client.infrastructure
-
-enum class ResponseType {
-    Success, Informational, Redirection, ClientError, ServerError
-}
-
-interface Response
-
-abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType): Response {
-    abstract val statusCode: Int
-    abstract val headers: Map<String,List<String>>
-}
-
-class Success<T>(
-    val data: T,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-): ApiInfrastructureResponse<T>(ResponseType.Success)
-
-class Informational<T>(
-    val statusText: String,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Informational)
-
-class Redirection<T>(
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.Redirection)
-
-class ClientError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>> = mapOf()
-) : ApiInfrastructureResponse<T>(ResponseType.ClientError)
-
-class ServerError<T>(
-    val message: String? = null,
-    val body: Any? = null,
-    override val statusCode: Int = -1,
-    override val headers: Map<String, List<String>>
-): ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
deleted file mode 100644
index ff5e2a81ee8..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ByteArrayAdapter.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-
-class ByteArrayAdapter {
-    @ToJson
-    fun toJson(data: ByteArray): String = String(data)
-
-    @FromJson
-    fun fromJson(data: String): ByteArray = data.toByteArray()
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Errors.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Errors.kt
deleted file mode 100644
index b5310e71f13..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Errors.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-@file:Suppress("unused")
-package org.openapitools.client.infrastructure
-
-import java.lang.RuntimeException
-
-open class ClientException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 123L
-    }
-}
-
-open class ServerException(message: kotlin.String? = null, val statusCode: Int = -1, val response: Response? = null) : RuntimeException(message) {
-
-    companion object {
-        private const val serialVersionUID: Long = 456L
-    }
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
deleted file mode 100644
index b2e1654479a..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
-
-class LocalDateAdapter {
-    @ToJson
-    fun toJson(value: LocalDate): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDate {
-        return LocalDate.parse(value, DateTimeFormatter.ISO_LOCAL_DATE)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
deleted file mode 100644
index e082db94811..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/LocalDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-
-class LocalDateTimeAdapter {
-    @ToJson
-    fun toJson(value: LocalDateTime): String {
-        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): LocalDateTime {
-        return LocalDateTime.parse(value, DateTimeFormatter.ISO_LOCAL_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
deleted file mode 100644
index 87437871a31..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/OffsetDateTimeAdapter.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.time.OffsetDateTime
-import java.time.format.DateTimeFormatter
-
-class OffsetDateTimeAdapter {
-    @ToJson
-    fun toJson(value: OffsetDateTime): String {
-        return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value)
-    }
-
-    @FromJson
-    fun fromJson(value: String): OffsetDateTime {
-        return OffsetDateTime.parse(value, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
-    }
-
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
deleted file mode 100644
index 0f2790f370e..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestConfig.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Defines a config object for a given request.
- * NOTE: This object doesn't include 'body' because it
- *       allows for caching of the constructed object
- *       for many request definitions.
- * NOTE: Headers is a Map<String,String> because rfc2616 defines
- *       multi-valued headers as csv-only.
- */
-data class RequestConfig(
-    val method: RequestMethod,
-    val path: String,
-    val headers: MutableMap<String, String> = mutableMapOf(),
-    val query: MutableMap<String, List<String>> = mutableMapOf(),
-    val body: kotlin.Any? = null
-)
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
deleted file mode 100644
index 931b12b8bd7..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/RequestMethod.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.openapitools.client.infrastructure
-
-/**
- * Provides enumerated HTTP verbs
- */
-enum class RequestMethod {
-    GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT
-}
\ No newline at end of file
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
deleted file mode 100644
index 9bd2790dc14..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/ResponseExtensions.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import okhttp3.Response
-
-/**
- * Provides an extension to evaluation whether the response is a 1xx code
- */
-val Response.isInformational : Boolean get() = this.code in 100..199
-
-/**
- * Provides an extension to evaluation whether the response is a 3xx code
- */
-@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
-val Response.isRedirect : Boolean get() = this.code in 300..399
-
-/**
- * Provides an extension to evaluation whether the response is a 4xx code
- */
-val Response.isClientError : Boolean get() = this.code in 400..499
-
-/**
- * Provides an extension to evaluation whether the response is a 5xx (Standard) through 999 (non-standard) code
- */
-val Response.isServerError : Boolean get() = this.code in 500..999
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Serializer.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Serializer.kt
deleted file mode 100644
index 9a45b67d9b1..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/Serializer.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.Moshi
-import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
-import java.util.Date
-
-object Serializer {
-    @JvmStatic
-    val moshiBuilder: Moshi.Builder = Moshi.Builder()
-        .add(OffsetDateTimeAdapter())
-        .add(LocalDateTimeAdapter())
-        .add(LocalDateAdapter())
-        .add(UUIDAdapter())
-        .add(ByteArrayAdapter())
-        .add(KotlinJsonAdapterFactory())
-
-    @JvmStatic
-    val moshi: Moshi by lazy {
-        moshiBuilder.build()
-    }
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
deleted file mode 100644
index a4a44cc18b7..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/infrastructure/UUIDAdapter.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import com.squareup.moshi.FromJson
-import com.squareup.moshi.ToJson
-import java.util.UUID
-
-class UUIDAdapter {
-    @ToJson
-    fun toJson(uuid: UUID) = uuid.toString()
-
-    @FromJson
-    fun fromJson(s: String) = UUID.fromString(s)
-}
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/ApiResponse.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/ApiResponse.kt
deleted file mode 100644
index 7d40c8efbc2..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/ApiResponse.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * Describes the result of uploading an image resource
- * @param code 
- * @param type 
- * @param message 
- */
-
-data class ApiResponse (
-    @Json(name = "code")
-    val code: kotlin.Int? = null,
-    @Json(name = "type")
-    val type: kotlin.String? = null,
-    @Json(name = "message")
-    val message: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Category.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Category.kt
deleted file mode 100644
index ceb0fbc8fe6..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Category.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A category for a pet
- * @param id 
- * @param name 
- */
-
-data class Category (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Order.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Order.kt
deleted file mode 100644
index ed8f8b13a43..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Order.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * An order for a pets from the pet store
- * @param id 
- * @param petId 
- * @param quantity 
- * @param shipDate 
- * @param status Order Status
- * @param complete 
- */
-
-data class Order (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "petId")
-    val petId: kotlin.Long? = null,
-    @Json(name = "quantity")
-    val quantity: kotlin.Int? = null,
-    @Json(name = "shipDate")
-    val shipDate: java.time.OffsetDateTime? = null,
-    /* Order Status */
-    @Json(name = "status")
-    val status: Order.Status? = null,
-    @Json(name = "complete")
-    val complete: kotlin.Boolean? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * Order Status
-    * Values: placed,approved,delivered
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "placed") placed("placed"),
-        @Json(name = "approved") approved("approved"),
-        @Json(name = "delivered") delivered("delivered");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Pet.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Pet.kt
deleted file mode 100644
index 105f485f021..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Pet.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-import org.openapitools.client.models.Category
-import org.openapitools.client.models.Tag
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A pet for sale in the pet store
- * @param name 
- * @param photoUrls 
- * @param id 
- * @param category 
- * @param tags 
- * @param status pet status in the store
- */
-
-data class Pet (
-    @Json(name = "name")
-    val name: kotlin.String,
-    @Json(name = "photoUrls")
-    val photoUrls: kotlin.collections.List<kotlin.String>,
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "category")
-    val category: Category? = null,
-    @Json(name = "tags")
-    val tags: kotlin.collections.List<Tag>? = null,
-    /* pet status in the store */
-    @Json(name = "status")
-    val status: Pet.Status? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-    /**
-    * pet status in the store
-    * Values: available,pending,sold
-    */
-    
-    enum class Status(val value: kotlin.String){
-        @Json(name = "available") available("available"),
-        @Json(name = "pending") pending("pending"),
-        @Json(name = "sold") sold("sold");
-    }
-}
-
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Tag.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Tag.kt
deleted file mode 100644
index 944b1cd0a14..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/Tag.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A tag for a pet
- * @param id 
- * @param name 
- */
-
-data class Tag (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "name")
-    val name: kotlin.String? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/User.kt b/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/User.kt
deleted file mode 100644
index 9697f07d5bf..00000000000
--- a/samples/client/petstore/kotlin/bin/main/org/openapitools/client/models/User.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* OpenAPI Petstore
-* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
-*
-* The version of the OpenAPI document: 1.0.0
-* 
-*
-* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
-* https://openapi-generator.tech
-* Do not edit the class manually.
-*/
-package org.openapitools.client.models
-
-
-import com.squareup.moshi.Json
-import java.io.Serializable
-
-/**
- * A User who is purchasing from the pet store
- * @param id 
- * @param username 
- * @param firstName 
- * @param lastName 
- * @param email 
- * @param password 
- * @param phone 
- * @param userStatus User Status
- */
-
-data class User (
-    @Json(name = "id")
-    val id: kotlin.Long? = null,
-    @Json(name = "username")
-    val username: kotlin.String? = null,
-    @Json(name = "firstName")
-    val firstName: kotlin.String? = null,
-    @Json(name = "lastName")
-    val lastName: kotlin.String? = null,
-    @Json(name = "email")
-    val email: kotlin.String? = null,
-    @Json(name = "password")
-    val password: kotlin.String? = null,
-    @Json(name = "phone")
-    val phone: kotlin.String? = null,
-    /* User Status */
-    @Json(name = "userStatus")
-    val userStatus: kotlin.Int? = null
-) : Serializable {
-    companion object {
-        private const val serialVersionUID: Long = 123
-    }
-
-}
-
diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
index c75d4889d2e..003c196213f 100644
--- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
+++ b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt
@@ -25,7 +25,6 @@ import java.time.LocalDateTime
 import java.time.LocalTime
 import java.time.OffsetDateTime
 import java.time.OffsetTime
-import java.util.Date
 import java.util.Locale
 import com.squareup.moshi.adapter
 
@@ -248,7 +247,7 @@ open class ApiClient(val baseUrl: String) {
         null -> ""
         is Array<*> -> toMultiValue(value, "csv").toString()
         is Iterable<*> -> toMultiValue(value, "csv").toString()
-        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime, is Date ->
+        is OffsetDateTime, is OffsetTime, is LocalDateTime, is LocalDate, is LocalTime ->
             parseDateToQueryString(value)
         else -> value.toString()
     }
diff --git a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt b/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
deleted file mode 100644
index dd34bd48b2c..00000000000
--- a/samples/client/petstore/kotlin/src/main/kotlin/org/openapitools/client/infrastructure/ApplicationDelegates.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.client.infrastructure
-
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-object ApplicationDelegates {
-    /**
-     * Provides a property delegate, allowing the property to be set once and only once.
-     *
-     * If unset (no default value), a get on the property will throw [IllegalStateException].
-     */
-    fun <T> setOnce(defaultValue: T? = null) : ReadWriteProperty<Any?, T> = SetOnce(defaultValue)
-
-    private class SetOnce<T>(defaultValue: T? = null) : ReadWriteProperty<Any?, T> {
-        private var isSet = false
-        private var value: T? = defaultValue
-
-        override fun getValue(thisRef: Any?, property: KProperty<*>): T {
-            return value ?: throw IllegalStateException("${property.name} not initialized")
-        }
-
-        override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = synchronized(this) {
-            if (!isSet) {
-                this.value = value
-                isSet = true
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/server/petstore/kotlin-server/ktor/.openapi-generator-ignore b/samples/server/petstore/kotlin-server/ktor/.openapi-generator-ignore
index cabbe3494d4..7484ee590a3 100644
--- a/samples/server/petstore/kotlin-server/ktor/.openapi-generator-ignore
+++ b/samples/server/petstore/kotlin-server/ktor/.openapi-generator-ignore
@@ -1,3 +1,23 @@
 # OpenAPI Generator Ignore
-pom.xml
+# Generated by openapi-generator https://github.com/openapitools/openapi-generator
 
+# Use this file to prevent files from being overwritten by the generator.
+# The patterns follow closely to .gitignore or .dockerignore.
+
+# As an example, the C# client generator defines ApiClient.cs.
+# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
+#ApiClient.cs
+
+# You can match any string of characters against a directory, file or extension with a single asterisk (*):
+#foo/*/qux
+# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
+
+# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
+#foo/**/qux
+# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
+
+# You can also negate patterns with an exclamation (!).
+# For example, you can ignore all files in a docs folder with the file extension .md:
+#docs/*.md
+# Then explicitly reverse the ignore rule for a single file:
+#!docs/README.md
diff --git a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
index 10c026f11ff..af1c3167e9a 100644
--- a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 Dockerfile
 README.md
 build.gradle
diff --git a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
index c02ae2405be..5a3f8bacb3d 100644
--- a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject.kt
deleted file mode 100644
index 257970fa6be..00000000000
--- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.openapitools.model
-
-import java.util.Objects
-import com.fasterxml.jackson.annotation.JsonProperty
-import javax.validation.constraints.DecimalMax
-import javax.validation.constraints.DecimalMin
-import javax.validation.constraints.Max
-import javax.validation.constraints.Min
-import javax.validation.constraints.NotNull
-import javax.validation.constraints.Pattern
-import javax.validation.constraints.Size
-import javax.validation.Valid
-import io.swagger.annotations.ApiModelProperty
-
-/**
- * 
- * @param name Updated name of the pet
- * @param status Updated status of the pet
- */
-data class InlineObject(
-
-    @ApiModelProperty(example = "null", value = "Updated name of the pet")
-    @field:JsonProperty("name") val name: kotlin.String? = null,
-
-    @ApiModelProperty(example = "null", value = "Updated status of the pet")
-    @field:JsonProperty("status") val status: kotlin.String? = null
-) {
-
-}
-
diff --git a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject1.kt b/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject1.kt
deleted file mode 100644
index 60e6e76df23..00000000000
--- a/samples/server/petstore/kotlin-springboot-delegate/src/main/kotlin/org/openapitools/model/InlineObject1.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.openapitools.model
-
-import java.util.Objects
-import com.fasterxml.jackson.annotation.JsonProperty
-import javax.validation.constraints.DecimalMax
-import javax.validation.constraints.DecimalMin
-import javax.validation.constraints.Max
-import javax.validation.constraints.Min
-import javax.validation.constraints.NotNull
-import javax.validation.constraints.Pattern
-import javax.validation.constraints.Size
-import javax.validation.Valid
-import io.swagger.annotations.ApiModelProperty
-
-/**
- * 
- * @param additionalMetadata Additional data to pass to server
- * @param file file to upload
- */
-data class InlineObject1(
-
-    @ApiModelProperty(example = "null", value = "Additional data to pass to server")
-    @field:JsonProperty("additionalMetadata") val additionalMetadata: kotlin.String? = null,
-
-    @field:Valid
-    @ApiModelProperty(example = "null", value = "file to upload")
-    @field:JsonProperty("file") val file: org.springframework.core.io.Resource? = null
-) {
-
-}
-
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
index 612ea14bbdb..93eaa304129 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -5,13 +6,13 @@ settings.gradle
 src/main/kotlin/org/openapitools/Application.kt
 src/main/kotlin/org/openapitools/api/ApiUtil.kt
 src/main/kotlin/org/openapitools/api/Exceptions.kt
-src/main/kotlin/org/openapitools/api/PetApi.kt
+src/main/kotlin/org/openapitools/api/PetApiController.kt
 src/main/kotlin/org/openapitools/api/PetApiService.kt
 src/main/kotlin/org/openapitools/api/PetApiServiceImpl.kt
-src/main/kotlin/org/openapitools/api/StoreApi.kt
+src/main/kotlin/org/openapitools/api/StoreApiController.kt
 src/main/kotlin/org/openapitools/api/StoreApiService.kt
 src/main/kotlin/org/openapitools/api/StoreApiServiceImpl.kt
-src/main/kotlin/org/openapitools/api/UserApi.kt
+src/main/kotlin/org/openapitools/api/UserApiController.kt
 src/main/kotlin/org/openapitools/api/UserApiService.kt
 src/main/kotlin/org/openapitools/api/UserApiServiceImpl.kt
 src/main/kotlin/org/openapitools/model/Category.kt
@@ -21,3 +22,6 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
+src/test/kotlin/org/openapitools/api/PetApiTest.kt
+src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION
index 3fa3b389a57..4077803655c 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/VERSION
@@ -1 +1 @@
-5.0.1-SNAPSHOT
\ No newline at end of file
+5.3.1-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/build.gradle.kts b/samples/server/petstore/kotlin-springboot-modelMutable/build.gradle.kts
index 2b99799bd53..ea7f93398da 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/build.gradle.kts
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/build.gradle.kts
@@ -30,7 +30,7 @@ plugins {
 }
 
 dependencies {
-	val kotlinxCoroutinesVersion="1.2.0"
+    val kotlinxCoroutinesVersion="1.2.0"
     compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
     compile("org.jetbrains.kotlin:kotlin-reflect")
     compile("org.springframework.boot:spring-boot-starter-web")
@@ -46,7 +46,7 @@ dependencies {
 }
 
 repositories {
-	maven { url = uri("https://repo1.maven.org/maven2") }
-	maven { url = uri("https://repo.spring.io/snapshot") }
-	maven { url = uri("https://repo.spring.io/milestone") }
+    maven { url = uri("https://repo1.maven.org/maven2") }
+    maven { url = uri("https://repo.spring.io/snapshot") }
+    maven { url = uri("https://repo.spring.io/milestone") }
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/settings.gradle b/samples/server/petstore/kotlin-springboot-modelMutable/settings.gradle
index e9bd5d32d7c..14844905cd4 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/settings.gradle
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/settings.gradle
@@ -1,15 +1,15 @@
 pluginManagement {
-	repositories {
-		maven { url = uri("https://repo.spring.io/snapshot") }
-		maven { url = uri("https://repo.spring.io/milestone") }
-		gradlePluginPortal()
-	}
-	resolutionStrategy {
-		eachPlugin {
-			if (requested.id.id == "org.springframework.boot") {
-				useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")
-			}
-		}
-	}
+    repositories {
+        maven { url = uri("https://repo.spring.io/snapshot") }
+        maven { url = uri("https://repo.spring.io/milestone") }
+        gradlePluginPortal()
+    }
+    resolutionStrategy {
+        eachPlugin {
+            if (requested.id.id == "org.springframework.boot") {
+                useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")
+            }
+        }
+    }
 }
-rootProject.name = "openapi-spring"
\ No newline at end of file
+rootProject.name = "openapi-spring"
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApi.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiController.kt
similarity index 95%
rename from samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApi.kt
rename to samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiController.kt
index 9de503175ac..a26504324da 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApi.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiController.kt
@@ -43,7 +43,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 405, message = "Invalid input")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/pet"],
         consumes = ["application/json", "application/xml"]
     )
@@ -59,7 +60,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 400, message = "Invalid pet value")])
-    @DeleteMapping(
+    @RequestMapping(
+        method = [RequestMethod.DELETE],
         value = ["/pet/{petId}"]
     )
     fun deletePet(@ApiParam(value = "Pet id to delete", required=true) @PathVariable("petId") petId: kotlin.Long
@@ -77,7 +79,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid status value")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/pet/findByStatus"],
         produces = ["application/xml", "application/json"]
     )
@@ -95,7 +98,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid tag value")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/pet/findByTags"],
         produces = ["application/xml", "application/json"]
     )
@@ -112,7 +116,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "api_key")])
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/pet/{petId}"],
         produces = ["application/xml", "application/json"]
     )
@@ -128,7 +133,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found"),ApiResponse(code = 405, message = "Validation exception")])
-    @PutMapping(
+    @RequestMapping(
+        method = [RequestMethod.PUT],
         value = ["/pet"],
         consumes = ["application/json", "application/xml"]
     )
@@ -144,7 +150,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 405, message = "Invalid input")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/pet/{petId}"],
         consumes = ["application/x-www-form-urlencoded"]
     )
@@ -163,7 +170,8 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) {
         authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])])
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse::class)])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/pet/{petId}/uploadImage"],
         produces = ["application/json"],
         consumes = ["multipart/form-data"]
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiService.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiService.kt
index f3f2fd68b6c..ee0e3bef83c 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiService.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/PetApiService.kt
@@ -2,21 +2,93 @@ package org.openapitools.api
 
 import org.openapitools.model.ModelApiResponse
 import org.openapitools.model.Pet
+
 interface PetApiService {
 
-	fun addPet(body: Pet): Unit
+    /**
+     * POST /pet : Add a new pet to the store
+     *
+     * @param body Pet object that needs to be added to the store (required)
+     * @return Invalid input (status code 405)
+     * @see PetApi#addPet
+     */
+    fun addPet(body: Pet): Unit
 
-	fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?): Unit
+    /**
+     * DELETE /pet/{petId} : Deletes a pet
+     *
+     * @param petId Pet id to delete (required)
+     * @param apiKey  (optional)
+     * @return Invalid pet value (status code 400)
+     * @see PetApi#deletePet
+     */
+    fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?): Unit
 
-	fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>): List<Pet>
+    /**
+     * GET /pet/findByStatus : Finds Pets by status
+     * Multiple status values can be provided with comma separated strings
+     *
+     * @param status Status values that need to be considered for filter (required)
+     * @return successful operation (status code 200)
+     *         or Invalid status value (status code 400)
+     * @see PetApi#findPetsByStatus
+     */
+    fun findPetsByStatus(status: kotlin.collections.List<kotlin.String>): List<Pet>
 
-	fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>): List<Pet>
+    /**
+     * GET /pet/findByTags : Finds Pets by tags
+     * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+     *
+     * @param tags Tags to filter by (required)
+     * @return successful operation (status code 200)
+     *         or Invalid tag value (status code 400)
+     * @deprecated
+     * @see PetApi#findPetsByTags
+     */
+    fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>): List<Pet>
 
-	fun getPetById(petId: kotlin.Long): Pet
+    /**
+     * GET /pet/{petId} : Find pet by ID
+     * Returns a single pet
+     *
+     * @param petId ID of pet to return (required)
+     * @return successful operation (status code 200)
+     *         or Invalid ID supplied (status code 400)
+     *         or Pet not found (status code 404)
+     * @see PetApi#getPetById
+     */
+    fun getPetById(petId: kotlin.Long): Pet
 
-	fun updatePet(body: Pet): Unit
+    /**
+     * PUT /pet : Update an existing pet
+     *
+     * @param body Pet object that needs to be added to the store (required)
+     * @return Invalid ID supplied (status code 400)
+     *         or Pet not found (status code 404)
+     *         or Validation exception (status code 405)
+     * @see PetApi#updatePet
+     */
+    fun updatePet(body: Pet): Unit
 
-	fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?): Unit
+    /**
+     * POST /pet/{petId} : Updates a pet in the store with form data
+     *
+     * @param petId ID of pet that needs to be updated (required)
+     * @param name Updated name of the pet (optional)
+     * @param status Updated status of the pet (optional)
+     * @return Invalid input (status code 405)
+     * @see PetApi#updatePetWithForm
+     */
+    fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?): Unit
 
-	fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: org.springframework.core.io.Resource?): ModelApiResponse
+    /**
+     * POST /pet/{petId}/uploadImage : uploads an image
+     *
+     * @param petId ID of pet to update (required)
+     * @param additionalMetadata Additional data to pass to server (optional)
+     * @param file file to upload (optional)
+     * @return successful operation (status code 200)
+     * @see PetApi#uploadFile
+     */
+    fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: org.springframework.core.io.Resource?): ModelApiResponse
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApi.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiController.kt
similarity index 94%
rename from samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApi.kt
rename to samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiController.kt
index 3b82141c4df..e2be73b4ec3 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApi.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiController.kt
@@ -41,7 +41,8 @@ class StoreApiController(@Autowired(required = true) val service: StoreApiServic
         notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors")
     @ApiResponses(
         value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")])
-    @DeleteMapping(
+    @RequestMapping(
+        method = [RequestMethod.DELETE],
         value = ["/store/order/{orderId}"]
     )
     fun deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted", required=true) @PathVariable("orderId") orderId: kotlin.String
@@ -58,7 +59,8 @@ class StoreApiController(@Autowired(required = true) val service: StoreApiServic
         authorizations = [Authorization(value = "api_key")])
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.collections.Map::class, responseContainer = "Map")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/store/inventory"],
         produces = ["application/json"]
     )
@@ -73,7 +75,8 @@ class StoreApiController(@Autowired(required = true) val service: StoreApiServic
         response = Order::class)
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/store/order/{orderId}"],
         produces = ["application/xml", "application/json"]
     )
@@ -89,7 +92,8 @@ class StoreApiController(@Autowired(required = true) val service: StoreApiServic
         response = Order::class)
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid Order")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/store/order"],
         produces = ["application/xml", "application/json"]
     )
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiService.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiService.kt
index d4a4ef9507f..6de3e6cc1de 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiService.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/StoreApiService.kt
@@ -1,13 +1,48 @@
 package org.openapitools.api
 
 import org.openapitools.model.Order
+
 interface StoreApiService {
 
-	fun deleteOrder(orderId: kotlin.String): Unit
+    /**
+     * DELETE /store/order/{orderId} : Delete purchase order by ID
+     * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
+     *
+     * @param orderId ID of the order that needs to be deleted (required)
+     * @return Invalid ID supplied (status code 400)
+     *         or Order not found (status code 404)
+     * @see StoreApi#deleteOrder
+     */
+    fun deleteOrder(orderId: kotlin.String): Unit
 
-	fun getInventory(): Map<String, kotlin.Int>
+    /**
+     * GET /store/inventory : Returns pet inventories by status
+     * Returns a map of status codes to quantities
+     *
+     * @return successful operation (status code 200)
+     * @see StoreApi#getInventory
+     */
+    fun getInventory(): Map<String, kotlin.Int>
 
-	fun getOrderById(orderId: kotlin.Long): Order
+    /**
+     * GET /store/order/{orderId} : Find purchase order by ID
+     * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
+     *
+     * @param orderId ID of pet that needs to be fetched (required)
+     * @return successful operation (status code 200)
+     *         or Invalid ID supplied (status code 400)
+     *         or Order not found (status code 404)
+     * @see StoreApi#getOrderById
+     */
+    fun getOrderById(orderId: kotlin.Long): Order
 
-	fun placeOrder(body: Order): Order
+    /**
+     * POST /store/order : Place an order for a pet
+     *
+     * @param body order placed for purchasing the pet (required)
+     * @return successful operation (status code 200)
+     *         or Invalid Order (status code 400)
+     * @see StoreApi#placeOrder
+     */
+    fun placeOrder(body: Order): Order
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApi.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiController.kt
similarity index 92%
rename from samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApi.kt
rename to samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiController.kt
index 7071afde110..f7c4144fbdb 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApi.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiController.kt
@@ -41,7 +41,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "This can only be done by the logged in user.")
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/user"]
     )
     fun createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody body: User
@@ -55,7 +56,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "")
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/user/createWithArray"]
     )
     fun createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: kotlin.collections.List<User>
@@ -69,7 +71,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "")
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation")])
-    @PostMapping(
+    @RequestMapping(
+        method = [RequestMethod.POST],
         value = ["/user/createWithList"]
     )
     fun createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: kotlin.collections.List<User>
@@ -83,7 +86,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "This can only be done by the logged in user.")
     @ApiResponses(
         value = [ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")])
-    @DeleteMapping(
+    @RequestMapping(
+        method = [RequestMethod.DELETE],
         value = ["/user/{username}"]
     )
     fun deleteUser(@ApiParam(value = "The name that needs to be deleted", required=true) @PathVariable("username") username: kotlin.String
@@ -98,7 +102,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         response = User::class)
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = User::class),ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/user/{username}"],
         produces = ["application/xml", "application/json"]
     )
@@ -114,7 +119,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         response = kotlin.String::class)
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.String::class),ApiResponse(code = 400, message = "Invalid username/password supplied")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/user/login"],
         produces = ["application/xml", "application/json"]
     )
@@ -130,7 +136,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "")
     @ApiResponses(
         value = [ApiResponse(code = 200, message = "successful operation")])
-    @GetMapping(
+    @RequestMapping(
+        method = [RequestMethod.GET],
         value = ["/user/logout"]
     )
     fun logoutUser(): ResponseEntity<Unit> {
@@ -143,7 +150,8 @@ class UserApiController(@Autowired(required = true) val service: UserApiService)
         notes = "This can only be done by the logged in user.")
     @ApiResponses(
         value = [ApiResponse(code = 400, message = "Invalid user supplied"),ApiResponse(code = 404, message = "User not found")])
-    @PutMapping(
+    @RequestMapping(
+        method = [RequestMethod.PUT],
         value = ["/user/{username}"]
     )
     fun updateUser(@ApiParam(value = "name that need to be deleted", required=true) @PathVariable("username") username: kotlin.String
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiService.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiService.kt
index 491705c3b50..a1bcf6be237 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiService.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/main/kotlin/org/openapitools/api/UserApiService.kt
@@ -1,21 +1,87 @@
 package org.openapitools.api
 
 import org.openapitools.model.User
+
 interface UserApiService {
 
-	fun createUser(body: User): Unit
+    /**
+     * POST /user : Create user
+     * This can only be done by the logged in user.
+     *
+     * @param body Created user object (required)
+     * @return successful operation (status code 200)
+     * @see UserApi#createUser
+     */
+    fun createUser(body: User): Unit
 
-	fun createUsersWithArrayInput(body: kotlin.collections.List<User>): Unit
+    /**
+     * POST /user/createWithArray : Creates list of users with given input array
+     *
+     * @param body List of user object (required)
+     * @return successful operation (status code 200)
+     * @see UserApi#createUsersWithArrayInput
+     */
+    fun createUsersWithArrayInput(body: kotlin.collections.List<User>): Unit
 
-	fun createUsersWithListInput(body: kotlin.collections.List<User>): Unit
+    /**
+     * POST /user/createWithList : Creates list of users with given input array
+     *
+     * @param body List of user object (required)
+     * @return successful operation (status code 200)
+     * @see UserApi#createUsersWithListInput
+     */
+    fun createUsersWithListInput(body: kotlin.collections.List<User>): Unit
 
-	fun deleteUser(username: kotlin.String): Unit
+    /**
+     * DELETE /user/{username} : Delete user
+     * This can only be done by the logged in user.
+     *
+     * @param username The name that needs to be deleted (required)
+     * @return Invalid username supplied (status code 400)
+     *         or User not found (status code 404)
+     * @see UserApi#deleteUser
+     */
+    fun deleteUser(username: kotlin.String): Unit
 
-	fun getUserByName(username: kotlin.String): User
+    /**
+     * GET /user/{username} : Get user by user name
+     *
+     * @param username The name that needs to be fetched. Use user1 for testing. (required)
+     * @return successful operation (status code 200)
+     *         or Invalid username supplied (status code 400)
+     *         or User not found (status code 404)
+     * @see UserApi#getUserByName
+     */
+    fun getUserByName(username: kotlin.String): User
 
-	fun loginUser(username: kotlin.String, password: kotlin.String): kotlin.String
+    /**
+     * GET /user/login : Logs user into the system
+     *
+     * @param username The user name for login (required)
+     * @param password The password for login in clear text (required)
+     * @return successful operation (status code 200)
+     *         or Invalid username/password supplied (status code 400)
+     * @see UserApi#loginUser
+     */
+    fun loginUser(username: kotlin.String, password: kotlin.String): kotlin.String
 
-	fun logoutUser(): Unit
+    /**
+     * GET /user/logout : Logs out current logged in user session
+     *
+     * @return successful operation (status code 200)
+     * @see UserApi#logoutUser
+     */
+    fun logoutUser(): Unit
 
-	fun updateUser(username: kotlin.String, body: User): Unit
+    /**
+     * PUT /user/{username} : Updated user
+     * This can only be done by the logged in user.
+     *
+     * @param username name that need to be deleted (required)
+     * @param body Updated user object (required)
+     * @return Invalid user supplied (status code 400)
+     *         or User not found (status code 404)
+     * @see UserApi#updateUser
+     */
+    fun updateUser(username: kotlin.String, body: User): Unit
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/PetApiTest.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/PetApiTest.kt
index d621c166966..0d3ccd3989f 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/PetApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/PetApiTest.kt
@@ -3,7 +3,6 @@ package org.openapitools.api
 import org.openapitools.model.ModelApiResponse
 import org.openapitools.model.Pet
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class PetApiTest {
@@ -11,138 +10,121 @@ class PetApiTest {
     private val service: PetApiService = PetApiServiceImpl()
     private val api: PetApiController = PetApiController(service)
 
-    
     /**
-    * Add a new pet to the store
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.addPet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun addPetTest() {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.addPet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.addPet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Deletes a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.deletePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deletePetTest() {
-        val petId:kotlin.Long? = null
-        val apiKey:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deletePet(petId!!, apiKey!!)
+        val petId:kotlin.Long = TODO()
+        val apiKey:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.deletePet(petId, apiKey)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by status
-    *
-    * Multiple status values can be provided with comma separated strings
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByStatus
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByStatusTest() {
-        val status:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<List<Pet>> = api.findPetsByStatus(status!!)
+        val status:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<List<Pet>> = api.findPetsByStatus(status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by tags
-    *
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByTags
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByTagsTest() {
-        val tags:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<List<Pet>> = api.findPetsByTags(tags!!)
+        val tags:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<List<Pet>> = api.findPetsByTags(tags)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find pet by ID
-    *
-    * Returns a single pet
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.getPetById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getPetByIdTest() {
-        val petId:kotlin.Long? = null
-        val response: ResponseEntity<Pet> = api.getPetById(petId!!)
+        val petId:kotlin.Long = TODO()
+        val response: ResponseEntity<Pet> = api.getPetById(petId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Update an existing pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetTest() {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.updatePet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.updatePet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updates a pet in the store with form data
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePetWithForm
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetWithFormTest() {
-        val petId:kotlin.Long? = null
-        val name:kotlin.String? = null
-        val status:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId!!, name!!, status!!)
+        val petId:kotlin.Long = TODO()
+        val name:kotlin.String? = TODO()
+        val status:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId, name, status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * uploads an image
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.uploadFile
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun uploadFileTest() {
-        val petId:kotlin.Long? = null
-        val additionalMetadata:kotlin.String? = null
-        val file:org.springframework.core.io.Resource? = null
-        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId!!, additionalMetadata!!, file!!)
+        val petId:kotlin.Long = TODO()
+        val additionalMetadata:kotlin.String? = TODO()
+        val file:org.springframework.core.io.Resource? = TODO()
+        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId, additionalMetadata, file)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/StoreApiTest.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
index 82b91cd652b..fcb00e99e99 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.Order
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class StoreApiTest {
@@ -10,68 +9,59 @@ class StoreApiTest {
     private val service: StoreApiService = StoreApiServiceImpl()
     private val api: StoreApiController = StoreApiController(service)
 
-    
     /**
-    * Delete purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.deleteOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteOrderTest() {
-        val orderId:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteOrder(orderId!!)
+        val orderId:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteOrder(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Returns pet inventories by status
-    *
-    * Returns a map of status codes to quantities
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getInventory
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getInventoryTest() {
         val response: ResponseEntity<Map<String, kotlin.Int>> = api.getInventory()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getOrderById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getOrderByIdTest() {
-        val orderId:kotlin.Long? = null
-        val response: ResponseEntity<Order> = api.getOrderById(orderId!!)
+        val orderId:kotlin.Long = TODO()
+        val response: ResponseEntity<Order> = api.getOrderById(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Place an order for a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.placeOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun placeOrderTest() {
-        val body:Order? = null
-        val response: ResponseEntity<Order> = api.placeOrder(body!!)
+        val body:Order = TODO()
+        val response: ResponseEntity<Order> = api.placeOrder(body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/UserApiTest.kt b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/UserApiTest.kt
index 14917f70aeb..c3f07290cfe 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/UserApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/src/test/kotlin/org/openapitools/api/UserApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.User
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class UserApiTest {
@@ -10,134 +9,117 @@ class UserApiTest {
     private val service: UserApiService = UserApiServiceImpl()
     private val api: UserApiController = UserApiController(service)
 
-    
     /**
-    * Create user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUserTest() {
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.createUser(body!!)
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.createUser(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithArrayInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithArrayInputTest() {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithListInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithListInputTest() {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Delete user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.deleteUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteUserTest() {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteUser(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteUser(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Get user by user name
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.getUserByName
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getUserByNameTest() {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<User> = api.getUserByName(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<User> = api.getUserByName(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs user into the system
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.loginUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun loginUserTest() {
-        val username:kotlin.String? = null
-        val password:kotlin.String? = null
-        val response: ResponseEntity<kotlin.String> = api.loginUser(username!!, password!!)
+        val username:kotlin.String = TODO()
+        val password:kotlin.String = TODO()
+        val response: ResponseEntity<kotlin.String> = api.loginUser(username, password)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs out current logged in user session
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.logoutUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun logoutUserTest() {
         val response: ResponseEntity<Unit> = api.logoutUser()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updated user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.updateUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updateUserTest() {
-        val username:kotlin.String? = null
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.updateUser(username!!, body!!)
+        val username:kotlin.String = TODO()
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.updateUser(username, body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
index fdc7a16af74..3627649a5b3 100644
--- a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -20,3 +21,6 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
+src/test/kotlin/org/openapitools/api/PetApiTest.kt
+src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/PetApiTest.kt b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/PetApiTest.kt
index f43c6ecf7ca..bbc9b118e24 100644
--- a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/PetApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/PetApiTest.kt
@@ -3,7 +3,6 @@ package org.openapitools.api
 import org.openapitools.model.ModelApiResponse
 import org.openapitools.model.Pet
 import org.junit.jupiter.api.Test
-
 import kotlinx.coroutines.flow.Flow;
 import kotlinx.coroutines.test.runBlockingTest
 import org.springframework.http.ResponseEntity
@@ -13,138 +12,121 @@ class PetApiTest {
     private val service: PetApiService = PetApiServiceImpl()
     private val api: PetApiController = PetApiController(service)
 
-    
     /**
-    * Add a new pet to the store
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.addPet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun addPetTest() = runBlockingTest {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.addPet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.addPet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Deletes a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.deletePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deletePetTest() = runBlockingTest {
-        val petId:kotlin.Long? = null
-        val apiKey:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deletePet(petId!!, apiKey!!)
+        val petId:kotlin.Long = TODO()
+        val apiKey:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.deletePet(petId, apiKey)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by status
-    *
-    * Multiple status values can be provided with comma separated strings
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByStatus
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByStatusTest() = runBlockingTest {
-        val status:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<Flow<Pet>> = api.findPetsByStatus(status!!)
+        val status:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<Flow<Pet>> = api.findPetsByStatus(status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by tags
-    *
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByTags
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByTagsTest() = runBlockingTest {
-        val tags:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<Flow<Pet>> = api.findPetsByTags(tags!!)
+        val tags:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<Flow<Pet>> = api.findPetsByTags(tags)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find pet by ID
-    *
-    * Returns a single pet
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.getPetById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getPetByIdTest() = runBlockingTest {
-        val petId:kotlin.Long? = null
-        val response: ResponseEntity<Pet> = api.getPetById(petId!!)
+        val petId:kotlin.Long = TODO()
+        val response: ResponseEntity<Pet> = api.getPetById(petId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Update an existing pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetTest() = runBlockingTest {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.updatePet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.updatePet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updates a pet in the store with form data
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePetWithForm
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetWithFormTest() = runBlockingTest {
-        val petId:kotlin.Long? = null
-        val name:kotlin.String? = null
-        val status:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId!!, name!!, status!!)
+        val petId:kotlin.Long = TODO()
+        val name:kotlin.String? = TODO()
+        val status:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId, name, status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * uploads an image
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.uploadFile
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun uploadFileTest() = runBlockingTest {
-        val petId:kotlin.Long? = null
-        val additionalMetadata:kotlin.String? = null
-        val file:org.springframework.core.io.Resource? = null
-        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId!!, additionalMetadata!!, file!!)
+        val petId:kotlin.Long = TODO()
+        val additionalMetadata:kotlin.String? = TODO()
+        val file:org.springframework.core.io.Resource? = TODO()
+        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId, additionalMetadata, file)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/StoreApiTest.kt b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
index 31c0a2e0713..1db01446d86 100644
--- a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.Order
 import org.junit.jupiter.api.Test
-
 import kotlinx.coroutines.flow.Flow;
 import kotlinx.coroutines.test.runBlockingTest
 import org.springframework.http.ResponseEntity
@@ -12,68 +11,59 @@ class StoreApiTest {
     private val service: StoreApiService = StoreApiServiceImpl()
     private val api: StoreApiController = StoreApiController(service)
 
-    
     /**
-    * Delete purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.deleteOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteOrderTest() = runBlockingTest {
-        val orderId:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteOrder(orderId!!)
+        val orderId:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteOrder(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Returns pet inventories by status
-    *
-    * Returns a map of status codes to quantities
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getInventory
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getInventoryTest() = runBlockingTest {
         val response: ResponseEntity<Map<String, kotlin.Int>> = api.getInventory()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getOrderById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getOrderByIdTest() = runBlockingTest {
-        val orderId:kotlin.Long? = null
-        val response: ResponseEntity<Order> = api.getOrderById(orderId!!)
+        val orderId:kotlin.Long = TODO()
+        val response: ResponseEntity<Order> = api.getOrderById(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Place an order for a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.placeOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun placeOrderTest() = runBlockingTest {
-        val body:Order? = null
-        val response: ResponseEntity<Order> = api.placeOrder(body!!)
+        val body:Order = TODO()
+        val response: ResponseEntity<Order> = api.placeOrder(body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/UserApiTest.kt b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/UserApiTest.kt
index 3d467deb14f..126e0700f79 100644
--- a/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/UserApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot-reactive/src/test/kotlin/org/openapitools/api/UserApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.User
 import org.junit.jupiter.api.Test
-
 import kotlinx.coroutines.flow.Flow;
 import kotlinx.coroutines.test.runBlockingTest
 import org.springframework.http.ResponseEntity
@@ -12,134 +11,117 @@ class UserApiTest {
     private val service: UserApiService = UserApiServiceImpl()
     private val api: UserApiController = UserApiController(service)
 
-    
     /**
-    * Create user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUserTest() = runBlockingTest {
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.createUser(body!!)
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.createUser(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithArrayInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithArrayInputTest() = runBlockingTest {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithListInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithListInputTest() = runBlockingTest {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Delete user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.deleteUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteUserTest() = runBlockingTest {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteUser(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteUser(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Get user by user name
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.getUserByName
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getUserByNameTest() = runBlockingTest {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<User> = api.getUserByName(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<User> = api.getUserByName(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs user into the system
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.loginUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun loginUserTest() = runBlockingTest {
-        val username:kotlin.String? = null
-        val password:kotlin.String? = null
-        val response: ResponseEntity<kotlin.String> = api.loginUser(username!!, password!!)
+        val username:kotlin.String = TODO()
+        val password:kotlin.String = TODO()
+        val response: ResponseEntity<kotlin.String> = api.loginUser(username, password)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs out current logged in user session
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.logoutUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun logoutUserTest() = runBlockingTest {
         val response: ResponseEntity<Unit> = api.logoutUser()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updated user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.updateUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updateUserTest() = runBlockingTest {
-        val username:kotlin.String? = null
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.updateUser(username!!, body!!)
+        val username:kotlin.String = TODO()
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.updateUser(username, body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
index 50a9d2bc75d..93eaa304129 100644
--- a/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -21,3 +22,6 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
+src/test/kotlin/org/openapitools/api/PetApiTest.kt
+src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/PetApiTest.kt b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/PetApiTest.kt
index d621c166966..0d3ccd3989f 100644
--- a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/PetApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/PetApiTest.kt
@@ -3,7 +3,6 @@ package org.openapitools.api
 import org.openapitools.model.ModelApiResponse
 import org.openapitools.model.Pet
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class PetApiTest {
@@ -11,138 +10,121 @@ class PetApiTest {
     private val service: PetApiService = PetApiServiceImpl()
     private val api: PetApiController = PetApiController(service)
 
-    
     /**
-    * Add a new pet to the store
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.addPet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun addPetTest() {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.addPet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.addPet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Deletes a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.deletePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deletePetTest() {
-        val petId:kotlin.Long? = null
-        val apiKey:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deletePet(petId!!, apiKey!!)
+        val petId:kotlin.Long = TODO()
+        val apiKey:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.deletePet(petId, apiKey)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by status
-    *
-    * Multiple status values can be provided with comma separated strings
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByStatus
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByStatusTest() {
-        val status:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<List<Pet>> = api.findPetsByStatus(status!!)
+        val status:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<List<Pet>> = api.findPetsByStatus(status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Finds Pets by tags
-    *
-    * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.findPetsByTags
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun findPetsByTagsTest() {
-        val tags:kotlin.collections.List<kotlin.String>? = null
-        val response: ResponseEntity<List<Pet>> = api.findPetsByTags(tags!!)
+        val tags:kotlin.collections.List<kotlin.String> = TODO()
+        val response: ResponseEntity<List<Pet>> = api.findPetsByTags(tags)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find pet by ID
-    *
-    * Returns a single pet
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.getPetById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getPetByIdTest() {
-        val petId:kotlin.Long? = null
-        val response: ResponseEntity<Pet> = api.getPetById(petId!!)
+        val petId:kotlin.Long = TODO()
+        val response: ResponseEntity<Pet> = api.getPetById(petId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Update an existing pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePet
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetTest() {
-        val body:Pet? = null
-        val response: ResponseEntity<Unit> = api.updatePet(body!!)
+        val body:Pet = TODO()
+        val response: ResponseEntity<Unit> = api.updatePet(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updates a pet in the store with form data
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.updatePetWithForm
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updatePetWithFormTest() {
-        val petId:kotlin.Long? = null
-        val name:kotlin.String? = null
-        val status:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId!!, name!!, status!!)
+        val petId:kotlin.Long = TODO()
+        val name:kotlin.String? = TODO()
+        val status:kotlin.String? = TODO()
+        val response: ResponseEntity<Unit> = api.updatePetWithForm(petId, name, status)
 
         // TODO: test validations
     }
-    
+
     /**
-    * uploads an image
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test PetApiController.uploadFile
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun uploadFileTest() {
-        val petId:kotlin.Long? = null
-        val additionalMetadata:kotlin.String? = null
-        val file:org.springframework.core.io.Resource? = null
-        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId!!, additionalMetadata!!, file!!)
+        val petId:kotlin.Long = TODO()
+        val additionalMetadata:kotlin.String? = TODO()
+        val file:org.springframework.core.io.Resource? = TODO()
+        val response: ResponseEntity<ModelApiResponse> = api.uploadFile(petId, additionalMetadata, file)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/StoreApiTest.kt b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
index 82b91cd652b..fcb00e99e99 100644
--- a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/StoreApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.Order
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class StoreApiTest {
@@ -10,68 +9,59 @@ class StoreApiTest {
     private val service: StoreApiService = StoreApiServiceImpl()
     private val api: StoreApiController = StoreApiController(service)
 
-    
     /**
-    * Delete purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.deleteOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteOrderTest() {
-        val orderId:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteOrder(orderId!!)
+        val orderId:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteOrder(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Returns pet inventories by status
-    *
-    * Returns a map of status codes to quantities
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getInventory
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getInventoryTest() {
         val response: ResponseEntity<Map<String, kotlin.Int>> = api.getInventory()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Find purchase order by ID
-    *
-    * For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other values will generated exceptions
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.getOrderById
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getOrderByIdTest() {
-        val orderId:kotlin.Long? = null
-        val response: ResponseEntity<Order> = api.getOrderById(orderId!!)
+        val orderId:kotlin.Long = TODO()
+        val response: ResponseEntity<Order> = api.getOrderById(orderId)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Place an order for a pet
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test StoreApiController.placeOrder
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun placeOrderTest() {
-        val body:Order? = null
-        val response: ResponseEntity<Order> = api.placeOrder(body!!)
+        val body:Order = TODO()
+        val response: ResponseEntity<Order> = api.placeOrder(body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/UserApiTest.kt b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/UserApiTest.kt
index 14917f70aeb..c3f07290cfe 100644
--- a/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/UserApiTest.kt
+++ b/samples/server/petstore/kotlin-springboot/src/test/kotlin/org/openapitools/api/UserApiTest.kt
@@ -2,7 +2,6 @@ package org.openapitools.api
 
 import org.openapitools.model.User
 import org.junit.jupiter.api.Test
-
 import org.springframework.http.ResponseEntity
 
 class UserApiTest {
@@ -10,134 +9,117 @@ class UserApiTest {
     private val service: UserApiService = UserApiServiceImpl()
     private val api: UserApiController = UserApiController(service)
 
-    
     /**
-    * Create user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUserTest() {
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.createUser(body!!)
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.createUser(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithArrayInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithArrayInputTest() {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithArrayInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Creates list of users with given input array
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.createUsersWithListInput
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun createUsersWithListInputTest() {
-        val body:kotlin.collections.List<User>? = null
-        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body!!)
+        val body:kotlin.collections.List<User> = TODO()
+        val response: ResponseEntity<Unit> = api.createUsersWithListInput(body)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Delete user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.deleteUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun deleteUserTest() {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<Unit> = api.deleteUser(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<Unit> = api.deleteUser(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Get user by user name
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.getUserByName
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun getUserByNameTest() {
-        val username:kotlin.String? = null
-        val response: ResponseEntity<User> = api.getUserByName(username!!)
+        val username:kotlin.String = TODO()
+        val response: ResponseEntity<User> = api.getUserByName(username)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs user into the system
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.loginUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun loginUserTest() {
-        val username:kotlin.String? = null
-        val password:kotlin.String? = null
-        val response: ResponseEntity<kotlin.String> = api.loginUser(username!!, password!!)
+        val username:kotlin.String = TODO()
+        val password:kotlin.String = TODO()
+        val response: ResponseEntity<kotlin.String> = api.loginUser(username, password)
 
         // TODO: test validations
     }
-    
+
     /**
-    * Logs out current logged in user session
-    *
-    * 
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.logoutUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun logoutUserTest() {
         val response: ResponseEntity<Unit> = api.logoutUser()
 
         // TODO: test validations
     }
-    
+
     /**
-    * Updated user
-    *
-    * This can only be done by the logged in user.
-    *
-    * @throws ApiException
-    *          if the Api call fails
-    */
+     * To test UserApiController.updateUser
+     *
+     * @throws ApiException
+     *          if the Api call fails
+     */
     @Test
     fun updateUserTest() {
-        val username:kotlin.String? = null
-        val body:User? = null
-        val response: ResponseEntity<Unit> = api.updateUser(username!!, body!!)
+        val username:kotlin.String = TODO()
+        val body:User = TODO()
+        val response: ResponseEntity<Unit> = api.updateUser(username, body)
 
         // TODO: test validations
     }
-    
+
 }
diff --git a/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES b/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
index cf01966a4dd..d500de57474 100644
--- a/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
@@ -1,3 +1,4 @@
+.openapi-generator-ignore
 README.md
 pom.xml
 src/main/kotlin/org/openapitools/server/api/model/ApiResponse.kt
diff --git a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION
index 3fa3b389a57..4077803655c 100644
--- a/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION
+++ b/samples/server/petstore/kotlin/vertx/.openapi-generator/VERSION
@@ -1 +1 @@
-5.0.1-SNAPSHOT
\ No newline at end of file
+5.3.1-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/kotlin/vertx/pom.xml b/samples/server/petstore/kotlin/vertx/pom.xml
index 9d151636971..f7dce917e48 100644
--- a/samples/server/petstore/kotlin/vertx/pom.xml
+++ b/samples/server/petstore/kotlin/vertx/pom.xml
@@ -1,14 +1,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    
+
     <groupId>org.openapitools</groupId>
     <artifactId>openapi-kotlin-vertx-server</artifactId>
     <version>1.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
-  
+
       <name>OpenAPI Petstore</name>
-      
+
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <java.version>1.8</java.version>
diff --git a/samples/server/petstore/kotlin/vertx/src/main/kotlin/org/openapitools/server/api/model/Order.kt b/samples/server/petstore/kotlin/vertx/src/main/kotlin/org/openapitools/server/api/model/Order.kt
index f3dfdd42e31..a25f7e74bc7 100644
--- a/samples/server/petstore/kotlin/vertx/src/main/kotlin/org/openapitools/server/api/model/Order.kt
+++ b/samples/server/petstore/kotlin/vertx/src/main/kotlin/org/openapitools/server/api/model/Order.kt
@@ -34,7 +34,7 @@ data class Order (
     var shipDate: java.time.OffsetDateTime? = null,
     /* Order Status */
     var status: Order.Status? = null,
-    var complete: kotlin.Boolean? = null
+    var complete: kotlin.Boolean? = false
 ) {
 
     /**
-- 
GitLab


From 1c7d88235904dbd98ac77d540f96ddd074f11712 Mon Sep 17 00:00:00 2001
From: Bruno Coelho <4brunu@gmail.com>
Date: Thu, 9 Dec 2021 14:20:35 +0000
Subject: [PATCH 2/2] [kotlin][client] remove old Date usage

---
 .../.openapi-generator/FILES                  |  1 -
 .../kotlin-gson/.openapi-generator/FILES      |  1 -
 .../kotlin-jackson/.openapi-generator/FILES   |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  5 --
 .../kotlin-nonpublic/.openapi-generator/FILES |  1 -
 .../kotlin-nullable/.openapi-generator/FILES  |  1 -
 .../kotlin-okhttp3/.openapi-generator/FILES   |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../kotlin-retrofit2/.openapi-generator/FILES |  1 -
 .../kotlin-string/.openapi-generator/FILES    |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../petstore/kotlin/.openapi-generator/FILES  |  1 -
 .../ktor/.openapi-generator/FILES             |  1 -
 .../.openapi-generator/FILES                  |  1 -
 .../.openapi-generator/FILES                  |  4 --
 .../kotlin-springboot-modelMutable/pom.xml    | 66 +++++++++----------
 .../.openapi-generator/FILES                  |  4 --
 .../.openapi-generator/FILES                  |  4 --
 .../kotlin/vertx/.openapi-generator/FILES     |  1 -
 24 files changed, 33 insertions(+), 69 deletions(-)

diff --git a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
index dd448f00b9d..bb98f9a0031 100644
--- a/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-enum-default-value/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/DefaultApi.md
diff --git a/samples/client/petstore/kotlin-gson/.openapi-generator/FILES b/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
index 49c37f92d4b..7c2c24c0ba6 100644
--- a/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-gson/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES b/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
index cc7d4565863..816d952128d 100644
--- a/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-jackson/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-json-request-string/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
index 49c37f92d4b..7c2c24c0ba6 100644
--- a/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-jvm-okhttp4-coroutines/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-moshi-codegen/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
index abb56b172d3..d95b6af6c45 100644
--- a/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-multiplatform/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle.kts
 docs/ApiResponse.md
@@ -10,10 +9,6 @@ docs/StoreApi.md
 docs/Tag.md
 docs/User.md
 docs/UserApi.md
-gradle/wrapper/gradle-wrapper.jar
-gradle/wrapper/gradle-wrapper.properties
-gradlew
-gradlew.bat
 settings.gradle.kts
 src/commonMain/kotlin/org/openapitools/client/apis/PetApi.kt
 src/commonMain/kotlin/org/openapitools/client/apis/StoreApi.kt
diff --git a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-nonpublic/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES b/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-nullable/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-okhttp3/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
index d252c0a2ec4..7d7727f8fb0 100644
--- a/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
index ce4a64cc477..04b505d1f17 100644
--- a/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2-rx3/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
index ce4a64cc477..04b505d1f17 100644
--- a/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-retrofit2/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-string/.openapi-generator/FILES b/samples/client/petstore/kotlin-string/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-string/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-string/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-threetenbp/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
index 400b0a0f077..c817d802484 100644
--- a/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin-uppercase-enum/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/EnumApi.md
diff --git a/samples/client/petstore/kotlin/.openapi-generator/FILES b/samples/client/petstore/kotlin/.openapi-generator/FILES
index e44407e011d..16c712325f8 100644
--- a/samples/client/petstore/kotlin/.openapi-generator/FILES
+++ b/samples/client/petstore/kotlin/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle
 docs/ApiResponse.md
diff --git a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
index af1c3167e9a..10c026f11ff 100644
--- a/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-server/ktor/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 Dockerfile
 README.md
 build.gradle
diff --git a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
index 5a3f8bacb3d..c02ae2405be 100644
--- a/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-delegate/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
index 93eaa304129..50a9d2bc75d 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -22,6 +21,3 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
-src/test/kotlin/org/openapitools/api/PetApiTest.kt
-src/test/kotlin/org/openapitools/api/StoreApiTest.kt
-src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin-springboot-modelMutable/pom.xml b/samples/server/petstore/kotlin-springboot-modelMutable/pom.xml
index 1bfa3bec626..f7094ec0e10 100644
--- a/samples/server/petstore/kotlin-springboot-modelMutable/pom.xml
+++ b/samples/server/petstore/kotlin-springboot-modelMutable/pom.xml
@@ -7,7 +7,7 @@
     <version>1.0.0</version>
     <properties>
         <kotlin.version>1.3.30</kotlin.version>
-	    <kotlinx-coroutines.version>1.2.0</kotlinx-coroutines.version>
+        <kotlinx-coroutines.version>1.2.0</kotlinx-coroutines.version>
         <jakarta-annotation-version>1.3.5</jakarta-annotation-version>
     </properties>
     <parent>
@@ -111,8 +111,8 @@
         </dependency>
         <!-- Bean Validation API support -->
         <dependency>
-            <groupId>javax.validation</groupId>
-            <artifactId>validation-api</artifactId>
+            <groupId>jakarta.validation</groupId>
+            <artifactId>jakarta.validation-api</artifactId>
         </dependency>
         <dependency>
             <groupId>jakarta.annotation</groupId>
@@ -127,34 +127,34 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-	<repositories>
-		<repository>
-			<id>spring-snapshots</id>
-			<name>Spring Snapshots</name>
-			<url>https://repo.spring.io/snapshot</url>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</repository>
-		<repository>
-			<id>spring-milestones</id>
-			<name>Spring Milestones</name>
-			<url>https://repo.spring.io/milestone</url>
-		</repository>
-	</repositories>
-	<pluginRepositories>
-		<pluginRepository>
-			<id>spring-snapshots</id>
-			<name>Spring Snapshots</name>
-			<url>https://repo.spring.io/snapshot</url>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-		<pluginRepository>
-			<id>spring-milestones</id>
-			<name>Spring Milestones</name>
-			<url>https://repo.spring.io/milestone</url>
-		</pluginRepository>
-	</pluginRepositories>
+    <repositories>
+        <repository>
+            <id>spring-snapshots</id>
+            <name>Spring Snapshots</name>
+            <url>https://repo.spring.io/snapshot</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <repository>
+            <id>spring-milestones</id>
+            <name>Spring Milestones</name>
+            <url>https://repo.spring.io/milestone</url>
+        </repository>
+    </repositories>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>spring-snapshots</id>
+            <name>Spring Snapshots</name>
+            <url>https://repo.spring.io/snapshot</url>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+        <pluginRepository>
+            <id>spring-milestones</id>
+            <name>Spring Milestones</name>
+            <url>https://repo.spring.io/milestone</url>
+        </pluginRepository>
+    </pluginRepositories>
 </project>
diff --git a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
index 3627649a5b3..fdc7a16af74 100644
--- a/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot-reactive/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -21,6 +20,3 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
-src/test/kotlin/org/openapitools/api/PetApiTest.kt
-src/test/kotlin/org/openapitools/api/StoreApiTest.kt
-src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES b/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
index 93eaa304129..50a9d2bc75d 100644
--- a/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin-springboot/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 build.gradle.kts
 pom.xml
@@ -22,6 +21,3 @@ src/main/kotlin/org/openapitools/model/Pet.kt
 src/main/kotlin/org/openapitools/model/Tag.kt
 src/main/kotlin/org/openapitools/model/User.kt
 src/main/resources/application.yaml
-src/test/kotlin/org/openapitools/api/PetApiTest.kt
-src/test/kotlin/org/openapitools/api/StoreApiTest.kt
-src/test/kotlin/org/openapitools/api/UserApiTest.kt
diff --git a/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES b/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
index d500de57474..cf01966a4dd 100644
--- a/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
+++ b/samples/server/petstore/kotlin/vertx/.openapi-generator/FILES
@@ -1,4 +1,3 @@
-.openapi-generator-ignore
 README.md
 pom.xml
 src/main/kotlin/org/openapitools/server/api/model/ApiResponse.kt
-- 
GitLab