new switch implementation in preparation of type switch. no functional change (yet). R=r OCL=25784 CL=25788