Handle delete/update & null resultColumns
handle null resultColumns correctly

if there's no resultColumns, they can't prevent nesting
Extracted method
Added some more tests