examin tree suc pre predecessor function recurs md specifi maximum level recurs allow param pre messag param suc messag predecessor msg object pre object suc md iter model facad predecessor suc iter object messag pre md predecessor msg pre md 