public ConstOperator deobfuscateString(ConstOperator op) {
		ClassAnalyzer clazz = methodAnalyzer.getClassAnalyzer();
		MethodAnalyzer ma = clazz.getMethod(methodName, methodType);
		if (ma == null)
			return null;
		Environment env = new Environment("L"
				+ methodAnalyzer.getClazz().getName().replace('.', '/') + ";");
		Interpreter interpreter = new Interpreter(env);
		env.interpreter = interpreter;

		String result;
		try {
			result = (String) interpreter.interpretMethod(ma.getBytecodeInfo(),
					null, new Object[] { op.getValue() });
		} catch (InterpreterException ex) {
			if ((GlobalOptions.debuggingFlags & GlobalOptions.DEBUG_INTERPRT) != 0) {
				GlobalOptions.err.println("Warning: Can't interpret method "
						+ methodName);
				ex.printStackTrace(GlobalOptions.err);
			}
			return null;
		} catch (InvocationTargetException ex) {
			if ((GlobalOptions.debuggingFlags & GlobalOptions.DEBUG_INTERPRT) != 0) {
				GlobalOptions.err.println("Warning: Interpreted method throws"
						+ " an uncaught exception: ");
				ex.getTargetException().printStackTrace(GlobalOptions.err);
			}
			return null;
		}
		return new ConstOperator(result);
	}