public SwitchRunnable(BlockDecomposer block, IList<int> cyclomaticComplexity, Instruction defaultCase, params Instruction[] cases)
 {
     this.block = block;
     this.cyclomaticComplexity = cyclomaticComplexity;
     this.defaultCase = defaultCase;
     this.cases = cases;
 }
 public GetFieldRunnable(IClassRepository repository, ClassInfo classInfo, Instruction instruction, BlockDecomposer block)
 {
     this.repository = repository;
     this.classInfo = classInfo;
     this.instruction = instruction;
     this.block = block;
 }
 public LoadConstantRunnable(BlockDecomposer block, Instruction instruction, object value, Type type)
 {
     this.block = block;
     this.instruction = instruction;
     this.value = value;
     this.type = type;
 }
 public TryCatchRunnable(BlockDecomposer block, IList<int> cyclomaticComplexity, Instruction tryStart, Instruction tryEnd, 
                         Instruction handlerStart, Instruction handlerEnd, TypeReference type)
 {
     this.block = block;
     this.cyclomaticComplexity = cyclomaticComplexity;
     this.tryStart = tryStart;
     this.tryEnd = tryEnd;
     this.handlerStart = handlerStart;
     this.handlerEnd = handlerEnd;
     this.type = type == null ? null : type.FullName;
 }
 public StoreRunnable(BlockDecomposer block, Instruction instruction, Variable variable)
 {
     this.block = block;
     this.instruction = instruction;
     this.variable = variable;
 }
 // TODO, if a offset is enough?
 public LabelRunnable(BlockDecomposer block, int offset)
 {
     this.block = block;
     this.offset = offset;
 }
 public NopRunnable(Instruction instruction, BlockDecomposer block)
 {
     this.instruction = instruction;
     this.block = block;
 }
 public ReturnRunnable(BlockDecomposer block, Instruction instruction, Type type)
 {
     this.block = block;
     this.instruction = instruction;
     this.type = type;
 }
 public RetSubRunnable(BlockDecomposer block, Instruction instruction)
 {
     this.block = block;
     this.instruction = instruction;
 }
 public NewArrayRunnable(BlockDecomposer block, Instruction instruction)
 {
     this.block = block;
     this.instruction = instruction;
 }