'Recursively builds a compound lambda function of getattr\'s
from the attribute names given in `attr_name_list`.'

def _build_getattr_lambda(self, attr_name_list):

    if (len(attr_name_list) == 0):
        return (lambda o: o)
    next_attr_name = attr_name_list[(-1)]
    if (len(attr_name_list) == 1):
        return (lambda o: getattr(o, next_attr_name))
    return (lambda o: getattr(self._build_getattr_lambda(attr_name_list[:(-1)])(o), next_attr_name))
