#vulnerable code 
                              @Override
  public void onMethodName(Token<?> lookhead) {
    String outtterMethodName = "lambda";
    if (lookhead.getType() != TokenType.Delegate) {
      outtterMethodName = lookhead.getLexeme();
      String innerMethodName = this.innerMethodMap.get(outtterMethodName);
      if (innerMethodName != null) {
        this.loadAviatorFunction(outtterMethodName, innerMethodName);
      } else {
        this.createAviatorFunctionObject(outtterMethodName);
      }
    } else {
      this.loadEnv();
      this.mv.visitMethodInsn(INVOKESTATIC, "com/googlecode/aviator/runtime/RuntimeUtils",
          "getFunction",
          "(Ljava/lang/Object;Ljava/util/Map;)Lcom/googlecode/aviator/runtime/type/AviatorFunction;");
      this.popOperand();
    }
    if (this.instance.getOption(Options.TRACE_EVAL)) {
      this.mv.visitMethodInsn(INVOKESTATIC, "com/googlecode/aviator/runtime/function/TraceFunction",
          "wrapTrace",
          "(Lcom/googlecode/aviator/runtime/type/AviatorFunction;)Lcom/googlecode/aviator/runtime/type/AviatorFunction;");
    }
    this.loadEnv();
    this.methodMetaDataStack.push(new MethodMetaData(outtterMethodName));
  } 
                            #location 19 
                            #vulnerability type NULL_DEREFERENCE
#fixed code
                              @Override
  public void onMethodName(Token<?> lookhead) {
    String outtterMethodName = "lambda";
    if (lookhead.getType() != TokenType.Delegate) {
      outtterMethodName = lookhead.getLexeme();
      String innerMethodName = this.innerMethodMap.get(outtterMethodName);
      if (innerMethodName != null) {
        this.loadAviatorFunction(outtterMethodName, innerMethodName);
      } else {
        this.createAviatorFunctionObject(outtterMethodName);
      }
    } else {
      this.loadEnv();
      this.mv.visitMethodInsn(INVOKESTATIC, "com/googlecode/aviator/runtime/RuntimeUtils",
          "getFunction",
          "(Ljava/lang/Object;Ljava/util/Map;)Lcom/googlecode/aviator/runtime/type/AviatorFunction;");
      this.popOperand();
    }
    if (this.instance.getOptionValue(Options.TRACE_EVAL).bool) {
      this.mv.visitMethodInsn(INVOKESTATIC, "com/googlecode/aviator/runtime/function/TraceFunction",
          "wrapTrace",
          "(Lcom/googlecode/aviator/runtime/type/AviatorFunction;)Lcom/googlecode/aviator/runtime/type/AviatorFunction;");
    }
    this.loadEnv();
    this.methodMetaDataStack.push(new MethodMetaData(outtterMethodName));
  }