def METHOD_NAME(self, otel_context):
    # type: (OtelContext) -> object
    """
    Activates an OpenTelemetry Span by storing its corresponding Datadog Span/Context in the
    Datadog Context Provider.
    """
    # Get Otel Span from the context object. Otelspan can be none if the context
    # only contains baggage or some other propagated object.
    otel_span = otel_context.get(_SPAN_KEY, None)
    if otel_span:
        if isinstance(otel_span, Span):
            self._ddcontext_provider.activate(otel_span._ddspan)
        elif isinstance(otel_span, OtelSpan):
            trace_id, span_id, *_ = otel_span.get_span_context()
            ddcontext = DDContext(trace_id, span_id)
            self._ddcontext_provider.activate(ddcontext)
        else:
            log.error(
                "Programming ERROR: ddtrace does not support activiting spans with the type: %s. Please open a "
                "github issue at: https://github.com/Datadog/dd-trace-py and avoid "
                "setting the ddtrace OpenTelemetry TracerProvider.",
                type(otel_span),
            )
    # A return value with the type `object` is required by the otel api to remove/deactivate spans.
    # Since manually deactivating spans is not supported by ddtrace this object will never be used.
    return object()