private void addConsumedStreamCheckInstructions(@Nullable PsiExpression reference, @Nullable String exception) {
    if (reference == null) {
      return;
    }
    DfaControlTransferValue transferValue = exception != null ? createTransfer(exception) : null;
    addInstruction(new DupInstruction());
    addInstruction(new UnwrapDerivedVariableInstruction(SpecialField.CONSUMED_STREAM));
    addInstruction(new EnsureInstruction(new ConsumedStreamProblem(reference), RelationType.NE, DfStreamStateType.CONSUMED, transferValue));
    addInstruction(new PopInstruction());
  }
private void addConsumedStreamCheckInstructions(@Nullable PsiExpression reference, @Nullable String exception)