bool HandleStores(string opcodeStr, Instruction instruction,
                          MetaMidRepresentationOperationFactory operationFactory)
        {
            if (instruction.OpCode == OpCodes.Stloc_S || instruction.OpCode == OpCodes.Stloc)
            {
                operationFactory.CopyStackIntoLocalVariable(GetVariableIndex(instruction));
                return(true);
            }

            if (opcodeStr.StartsWith("stloc."))
            {
                var pushedIntValue = opcodeStr.Remove(0, "stloc.".Length).ToInt();
                operationFactory.CopyStackIntoLocalVariable(pushedIntValue);
                return(true);
            }

            if (opcodeStr.StartsWith("starg."))
            {
                var parameter      = (ParameterInfo)instruction.Operand;
                var pushedIntValue = parameter.Position;
                operationFactory.CopyStackIntoArgument(pushedIntValue, _methodInterpreter.AnalyzeProperties);
                return(true);
            }

            if (instruction.OpCode == OpCodes.Stfld)
            {
                var fieldInfo = (FieldInfo)instruction.Operand;
                operationFactory.StoreField(fieldInfo);
                return(true);
            }

            if (opcodeStr.StartsWith("stobj"))
            {
                operationFactory.StoreObject((Type)instruction.Operand);
                return(true);
            }

            return(false);
        }