private void storeStrings(ClassNode node) {
        ListIterator<MethodNode> mnli = node.methods.listIterator();
        while (mnli.hasNext()) {
            MethodNode mn = mnli.next();
            if (mn.name.equals("<clinit>")) {
                ListIterator<AbstractInsnNode> ainli = mn.instructions.iterator();
                while (ainli.hasNext()) {
                    AbstractInsnNode ain = ainli.next();
                    if (ain.getOpcode() == Opcodes.LDC) {
                        String text = (String) ((LdcInsnNode) ain).cst;
                        if (text == null)
                            continue;
                        if (text.length() < 4)
                            continue;
                        AbstractInsnNode next = ain.getNext();
                        if (next.getOpcode() == Opcodes.PUTSTATIC) {
                            FieldInsnNode fin = (FieldInsnNode) next;
                            String[] theValues = new String[]{text};
                            for (int i=0; i<theValues.length; i++) {
                                if (!StringStorageValues.containsKey(theValues[i])) {
                                    StringStorageValues.put(theValues[i], fin.name);
                                }
                                //System.out.println(theValues[i]);
                            }
                        }
                    }
                }
            }
        }
    }