private static boolean pushOptionalValue(CFGBuilder builder, PsiExpression expression,
                                           NullabilityProblemKind<? super PsiExpression> problem) {
    PsiType optionalElementType = getOptionalElementType(expression, true);
    if (optionalElementType == null) return false;
    if (expression instanceof PsiMethodCallExpression qualifierCall) {
      if (OPTIONAL_EMPTY.test(qualifierCall)) {
        builder.pushNull();
        return true;
      }
      if (pushIntermediateOperationValue(builder, qualifierCall)) {
        builder
          .dup()
          .wrap(DfTypes.typedObject(qualifierCall.getType(), Nullability.NOT_NULL), SpecialField.OPTIONAL_VALUE)
          .resultOf(qualifierCall)
          .pop()
          .assignTo(builder.createTempVariable(optionalElementType));
        return true;
      }
    }
    builder
      .pushExpression(expression, problem)
      .unwrap(SpecialField.OPTIONAL_VALUE)
      .assignTo(builder.createTempVariable(optionalElementType));
    return true;
  }
private static boolean pushOptionalValue(CFGBuilder builder, PsiExpression expression,
                                           NullabilityProblemKind<? super PsiExpression> problem)