code: def process_logic(self, logic_block):
      if logic_block[0].opname in JUMPS:
          jump_instr = logic_block[0]
          flag = "OR" if jump_instr.opname in OR_JUMPS else "AND"
          idx = find_index(
              logic_block,
              lambda instr: jump_instr.oparg == instr.i,
              default=None,
          )
  
          if idx is None:
              if len(logic_block) == 1:
                  right = None
              else:
                  right = self.process_logic(logic_block[1:])
              parent = None
          #                assert False
          else:
              right = self.process_logic(logic_block[1 : idx - 1])
              parent = self.process_logic(logic_block[idx - 1 :])
  
          #            if right is None:
          return LogicalOp(flag, right, parent, jump_instr.lineno)
      else:
          idx = find_index(
              logic_block,
              lambda instr: instr.opname in JUMPS,
              default=None,
          )
  
          if idx is None:
              stmnts = self.decompile_block(logic_block).stmnt()
              #                assert len(stmnts) == 1
              return stmnts[0]
          else:
              right = logic_block[idx:]
              parent = logic_block[:idx]
  
              stmnts = self.decompile_block(parent).stmnt()
              assert len(stmnts) == 1
              parent = stmnts[0]
  
              right = self.process_logic(right)
  
              assert right.parent is None
  
              if right.right is None:
                  return parent
  
              right.parent = parent
              return right
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import opcode
  import _ast
  from ..bytecodetools.instruction import Instruction
  from ..asttools.visitors.print_visitor import print_ast
  from ..utils import py3op, py2op, py3
label_desc: Use image node_id 22 for calling the CtrlFlowInstructions obj's underlying member method code with example usage: obj.process_logic(logic_block) and returns: LogicalOp, stmnts, right, parent