List logic for Geometry.DoesIntersect

I’m using Geometry.DoesIntersect to find out the solids intersected with each line.
When I dealing with single layer. It seem straightforward to get it work, but when I work on 2 layer list I can’t keep the output result under control. I’ve played with the levels control still no luck. Any suggestions? Thank you.
Correct result::grinning:

Wrong result::disappointed:

Sorry guys I think I made it work by having Levels 1 and Keep List Structural both checked. But any better ideas to get this kind of job done are welcome. Thanks