def _resolve_with_default(self, key: Union[(DictKeyType, int)], value: Node, default_value: Any=_DEFAULT_MARKER_) -> Any:
    "returns the value with the specified key, like obj.key and obj['key']"
    if _is_missing_value(value):
        if (default_value is not _DEFAULT_MARKER_):
            return default_value
        raise MissingMandatoryValue('Missing mandatory value: $FULL_KEY')
    resolved_node = self._maybe_resolve_interpolation(parent=self, key=key, value=value, throw_on_resolution_failure=True)
    return _get_value(resolved_node)
returns the value with the specified key, like obj.key and obj['key']
def _resolve_with_default(self, key: Union[(DictKeyType, int)], value: Node, default_value: Any=_DEFAULT_MARKER_) -> Any:
    
    if _is_missing_value(value):
        if (default_value is not _DEFAULT_MARKER_):
            return default_value
        raise MissingMandatoryValue('Missing mandatory value: $FULL_KEY')
    resolved_node = self._maybe_resolve_interpolation(parent=self, key=key, value=value, throw_on_resolution_failure=True)
    return _get_value(resolved_node)