@Override
        protected DfaInstructionState @NotNull [] acceptInstruction(@NotNull DfaInstructionState instructionState) {
          Instruction instruction = instructionState.getInstruction();
          DfaMemoryState memState = instructionState.getMemoryState();
          if (instruction instanceof TypeCastInstruction typeCast) {
            DfaValue value = memState.pop();
            memState.push(adjustValue(value, typeCast.getCasted()));
          }
          else if (instruction instanceof InstanceofInstruction instanceOf) {
            DfaValue dfaRight = memState.pop();
            DfaValue dfaLeft = memState.pop();
            memState.push(adjustValue(dfaLeft, getInstanceOfOperand(instanceOf)));
            memState.push(dfaRight);
          }
          return super.acceptInstruction(instructionState);
        }
@Override
        protected DfaInstructionState @NotNull [] acceptInstruction(@NotNull DfaInstructionState instructionState)