Is there a different way to do this other than nesting?

Well yeah, either way. If you want to check three values, there’ll always be some branches. Alternatively, if an object may only have one of those true, set a single interface that will call the needed function. Then you send a message, and the object does what it can, no checking needed.