If first and second have grandchildren , enqueue them in reverse order
if ( first . left . left != null ) { q . AddLast ( first . left ) ; q . AddLast ( second . right ) ; q . AddLast ( first . right ) ; q . AddLast ( second . left ) ; } } }