/* */ }
/* */
/* */ public void process_switch(int[] keys, ProcessSwitchCallback callback, boolean useTable) {
/* 606 */ if (!isSorted(keys))
/* 607 */ throw new IllegalArgumentException("keys to switch must be sorted ascending");
/* 608 */ Label def = make_label();
/* 609 */ Label end = make_label();
/* */ try
/* */ {
/* 612 */ if (keys.length > 0) {
/* 613 */ int len = keys.length;
/* 614 */ int min = keys[0];
/* 615 */ int max = keys[(len - 1)];
/* 616 */ int range = max - min + 1;
/* */
/* 618 */ if (useTable) {
/* 619 */ Label[] labels = new Label[range];
/* 620 */ Arrays.fill(labels, def);
/* 621 */ for (int i = 0; i < len; i++) {
/* 622 */ labels[(keys[i] - min)] = make_label();
/* */ }
/* 624 */ this.cv.visitTableSwitchInsn(min, max, def, labels);
/* 625 */ for (int i = 0; i < range; i++) {
/* 626 */ Label label = labels[i];
/* 627 */ if (label != def) {
/* 628 */ mark(label);
/* 629 */ callback.processCase(i + min, end);
/* */ }
/* */ }