public OpenAPI read(Class<?> cls) {
        return read(cls, resolveApplicationPath(), null, false, null, null, new LinkedHashSet<String>(), new ArrayList<Parameter>(), new HashSet<Class<?>>());
    }
@Test(description = "overridden generic resource methods")
    public void testTicket3694() {
        Reader reader = new Reader(new OpenAPI());

        OpenAPI openAPI = reader.read(Ticket3694ResourceExtendedType.class);
        String yaml = "openapi: 3.0.1\n" +
                "paths:\n" +
                "  /foo:\n" +
                "    post:\n" +
                "      tags:\n" +
                "      - Foo\n" +
                "      summary: Foo List in Interface\n" +
                "      operationId: foo\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*': {}\n" +
                "  /bar:\n" +
                "    post:\n" +
                "      operationId: bar\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*':\n" +
                "              schema:\n" +
                "                type: string\n" +
                "  /another:\n" +
                "    post:\n" +
                "      operationId: another\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*': {}";
        SerializationMatchers.assertEqualsToYaml(openAPI, yaml);

        reader = new Reader(new OpenAPI());
        openAPI = reader.read(Ticket3694Resource.class);
        yaml = "openapi: 3.0.1\n" +
                "paths:\n" +
                "  /foo:\n" +
                "    post:\n" +
                "      tags:\n" +
                "      - Foo\n" +
                "      summary: Foo List in Interface\n" +
                "      operationId: foo\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*': {}\n" +
                "  /bar:\n" +
                "    post:\n" +
                "      operationId: bar\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*':\n" +
                "              schema:\n" +
                "                type: string\n" +
                "  /another:\n" +
                "    post:\n" +
                "      operationId: another\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*': {}";
        SerializationMatchers.assertEqualsToYaml(openAPI, yaml);

        reader = new Reader(new OpenAPI());
        openAPI = reader.read(Ticket3694ResourceSimple.class);
        yaml = "openapi: 3.0.1\n" +
                "paths:\n" +
                "  /bar:\n" +
                "    post:\n" +
                "      operationId: bar\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*':\n" +
                "              schema:\n" +
                "                type: string";
        SerializationMatchers.assertEqualsToYaml(openAPI, yaml);

        reader = new Reader(new OpenAPI());
        openAPI = reader.read(Ticket3694ResourceSimpleSameReturn.class);
        yaml = "openapi: 3.0.1\n" +
                "paths:\n" +
                "  /bar:\n" +
                "    post:\n" +
                "      operationId: bar\n" +
                "      requestBody:\n" +
                "        content:\n" +
                "          application/json:\n" +
                "            schema:\n" +
                "              type: array\n" +
                "              items:\n" +
                "                type: string\n" +
                "      responses:\n" +
                "        default:\n" +
                "          description: default response\n" +
                "          content:\n" +
                "            '*/*': {}";
        SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
    }