class OpenApiConnectorGenerator extends ConnectorGenerator {

    @Override
    protected final String determineConnectorName(final ConnectorTemplate connectorTemplate, final ConnectorSettings connectorSettings) {
        final OpenApiModelInfo modelInfo = parseSpecification(connectorSettings, APIValidationContext.NONE);
        if (!modelInfo.getErrors().isEmpty()) {
            throw new IllegalArgumentException("Given OpenAPI specification contains errors: " + modelInfo);
        }

        final OasDocument openApiDoc = modelInfo.getModel();

        final Info info = openApiDoc.info;
        if (info == null) {
            return super.determineConnectorName(connectorTemplate, connectorSettings);
        }

        final String title = info.title;
        if (title == null) {
            return super.determineConnectorName(connectorTemplate, connectorSettings);
        }

        return title;
    }

    public  OpenApiConnectorGenerator(final Connector baseConnector, final Supplier<String> operationIdGenerator);
    public  OpenApiConnectorGenerator(final Connector baseConnector);

}