@classmethod
        def _process_object_schema(
            cls, schema: Schema, spec: OpenAPISpec, references_used: List[str]
        ) -> Tuple[Union[str, List[str], None], List["APIRequestBodyProperty"]]:
            from openapi_schema_pydantic import (
                Reference,
            )
            properties = []
            required_props = schema.required or []
            if schema.properties is None:
                raise ValueError(
                    f"No properties found when processing object schema: {schema}"
                )
            for prop_name, prop_schema in schema.properties.items():
                if isinstance(prop_schema, Reference):
                    ref_name = prop_schema.ref.split("/")[-1]
                    if ref_name not in references_used:
                        references_used.append(ref_name)
                        prop_schema = spec.get_referenced_schema(prop_schema)
                    else:
                        continue
                properties.append(
                    cls.from_schema(
                        schema=prop_schema,
                        name=prop_name,
                        required=prop_name in required_props,
                        spec=spec,
                        references_used=references_used,
                    )
                )
            return schema.type, properties
        @classmethod
        def _process_array_schema(
            cls,
            schema: Schema,
            name: str,
            spec: OpenAPISpec,
            references_used: List[str],
        ) -> str:
            from openapi_schema_pydantic import Reference, Schema
            items = schema.items
            if items is not None:
                if isinstance(items, Reference):
                    ref_name = items.ref.split("/")[-1]
                    if ref_name not in references_used:
                        references_used.append(ref_name)
                        items = spec.get_referenced_schema(items)
                    else:
                        pass
                    return f"Array<{ref_name}>"
                else: