'Return a list of tuples (state, obj) for the given
key.
returns an empty list if the value is None/empty/PASSIVE_NO_RESULT'

def _value_as_iterable(self, state, dict_, key, passive=attributes.PASSIVE_OFF):

    impl = state.manager[key].impl
    x = impl.get(state, dict_, passive=passive)
    if ((x is attributes.PASSIVE_NO_RESULT) or (x is None)):
        return []
    elif hasattr(impl, 'get_collection'):
        return [(attributes.instance_state(o), o) for o in impl.get_collection(state, dict_, x, passive=passive)]
    else:
        return [(attributes.instance_state(x), x)]
