def METHOD_NAME(self, field: str, type_hint: Type[Any] = None) -> Tuple[Any, List[LookupTrace]]:
    # get default hint type, in case of dlt.secrets it it TSecretValue
    type_hint = type_hint or self.default_type
    # split field into sections and a key
    sections = field.split(".")
    key = sections.pop()
    value = None
    traces: List[LookupTrace] = []
    for provider in self.config_providers:
        if provider.is_empty:
            continue
        value, effective_field = provider.get_value(key, type_hint, None, *sections)
        trace = LookupTrace(provider.name, sections, effective_field, value)
        traces.append(trace)
        if value is not None:
            # log trace
            if is_base_configuration_inner_hint(type_hint):
                config: BaseConfiguration = type_hint  # type: ignore
            else:
                config = None
            log_traces(config, key, type_hint, value, None, [trace])
            break
    return value, traces