Don't call reflection_for more than we need to

I'm not sure which of these I like better, but it feels a little
cleaner to me to do it this way, as it doesn't rely on calling
a reflection twice. It simply returns nil if the options or :through
ends up nil.