         }
     }
 
+    private func resolve(_ header: Header) {
+        resolve(header.schema.schema)
+    }
+
     private func resolve(_ requestBody: RequestBody) {
         resolve(requestBody.content)
     }


    private func resolve(_ reference: PossibleReference<Parameter>) {
        resolveReference(reference, objects: components.parameters)
    }

    private func resolve(_ parameter: Parameter) {

        switch parameter.type {
        case .schema: break // resolve schema if Item change to Schema
        //case .schema(let schema): resolveSchema(schema)
        case .content(let content): resolve(content)
        }
    }

        resolve(components.schemas, resolve)
        resolve(components.parameters, resolve)
        resolve(components.requestBodies, resolve)
        resolve(components.headers, resolve)
        resolve(components.requestBodies, resolve)

        spec.paths.forEach { path in
            path.parameters.forEach(resolve)
            path.operations.forEach { operation in
                operation.pathParameters.forEach(resolve)
                operation.operationParameters.forEach(resolve)
                operation.responses.forEach(resolve)
                if let requestBody = operation.requestBody {
                    resolveReference(requestBody, objects: components.requestBodies)
