@Override
    public HashMap<String,ClassNode> refactor(){
        //if (!Updater.useOutput)
        //    Deob.deobOutput.add("*   Starting Arithmetic Deob*"+System.getProperty("line.separator"));
        System.out.println("*   Starting Arithmetic Deob*");
        List<InsnWrapper> replace = getInstructions();
        for(InsnWrapper wrap : replace){
            for(ClassNode node : classes.values()){
                if(!wrap.owner.equals(node.name))
                    continue;
                for (MethodNode mn : (Iterable<MethodNode>) node.methods) {
                    if(mn.name.equals(wrap.mn.name) && mn.desc.equals(wrap.mn.desc)) {
                        int i = 0;
                        while (i < mn.instructions.size()) {
                            if (!wrap.insnArray.get(i).equals(null))
                                mn.instructions.set(mn.instructions.get(i), wrap.insnArray.get(i));
                            i++;
                        }
                    }
                }
            }
        }
        //if (!Updater.useOutput)
        //    Deob.deobOutput.add("*   Arithmetic Deob Finished*"+System.getProperty("line.separator"));
        System.out.println("*   Arithmetic Deob Finished*");
        return classes;
    }