code: protected int nextOffset()
    {
      int opcode = getCode()[_offset] & 0xff;
      
      int length = OP_LEN[opcode];
  
      switch (opcode) {
      case GOTO:
      case GOTO_W:
      case RET:
      case IRETURN:
      case LRETURN:
      case FRETURN:
      case DRETURN:
      case ARETURN:
      case RETURN:
      case ATHROW:
        return -1;
  
      case TABLESWITCH:
        {
          int arg = _offset + 1;
          arg += (4 - arg % 4) % 4;
  
          int low = getInt(arg + 4);
          int high = getInt(arg + 8);
  
          return arg + 12 + (high - low + 1) * 4;
        }
  
      case LOOKUPSWITCH:
        {
          return -1;
  
          /*
          int arg = _offset + 1;
          arg += (4 - arg % 4) % 4;
  
          int n = getInt(arg + 4);
  
          int next = arg + 12 + n * 8;
  
          return next;
          */
        }
  
      case WIDE:
        {
          int op2 = getCode()[_offset + 1] & 0xff;
  
          if (op2 == IINC)
            length = 5;
          else
            length = 3;
          break;
        }
      }
      
      if (length < 0 || length > 0x10)
        throw new UnsupportedOperationException(L.l("{0}: can't handle opcode {1}",
                                                    "" + _offset,
                                                    "" + getOpcode()));
  
      return _offset + length + 1;
    }
docs: Goes to the next opcode.