private void loadVariableByName(String name) {
    assert debug("ALOAD 3");
    mv.visitVarInsn(ALOAD, 3);

    assert debug("LDC \"" + name + "\"");
    mv.visitLdcInsn(name);

    assert debug("INVOKEINTERFACE " + NAMESPACE + "integration/VariableResolverFactory.getVariableResolver");
    mv.visitMethodInsn(INVOKEINTERFACE, "" + NAMESPACE + "integration/VariableResolverFactory",
        "getVariableResolver", "(Ljava/lang/String;)L" + NAMESPACE + "integration/VariableResolver;");

    assert debug("INVOKEINTERFACE " + NAMESPACE + "integration/VariableResolver.getValue");
    mv.visitMethodInsn(INVOKEINTERFACE, "" + NAMESPACE + "integration/VariableResolver",
        "getValue", "()Ljava/lang/Object;");

    returnType = Object.class;
  }