private static @Nullable IOStreamConstructorModel create(@NotNull PsiNewExpression expression) {
      PsiType expressionType = expression.getType();
      if (expressionType == null) return null;
      StreamType streamType = ContainerUtil.find(StreamType.values(), t -> expressionType.equalsToText(t.myTypeText));
      if (streamType == null) return null;
      PsiExpression argument = getOnlyArgument(expression);
      if (argument == null) return null;
      ArgumentModel argModel = ArgumentModel.create(argument);
      if (argModel == null) return null;
      return new IOStreamConstructorModel(streamType, argModel);
    }
private static @Nullable IOStreamConstructorModel create(@NotNull PsiNewExpression expression)