@Override
  public final DfaInstructionState[] accept(@NotNull DataFlowInterpreter interpreter, @NotNull DfaMemoryState stateBefore) {
    int operands = getOperands();
    DfaValue[] args;
    if (operands == 0) {
      args = DfaValue.EMPTY_ARRAY;
    } else {
      args = new DfaValue[operands];
      for (int i = operands - 1; i >= 0; i--) {
        args[i] = stateBefore.pop();
      }
    }
    DfaValue value = eval(interpreter.getFactory(), stateBefore, args);
    pushResult(interpreter, stateBefore, value, args);
    return nextStates(interpreter, stateBefore);
  }
@Override
  public final DfaInstructionState[] accept(@NotNull DataFlowInterpreter interpreter, @NotNull DfaMemoryState stateBefore)