reference set recursive walk