def METHOD_NAME(obj, prop):
    o = obj
    attr = obj
    name = None
    for name in prop.split("."):
        o = attr
        if not hasattr(o, name):
            break
        attr = getattr(o, name)
    if o == attr:
        Path.Log.warning(
            translate("PathGui", "%s has no property %s (%s)")
            % (obj.Label, prop, name)
        )
        return (None, None, None)
    # Path.Log.debug("found property %s of %s (%s: %s)" % (prop, obj.Label, name, attr))
    return (o, attr, name)