@Nullable
  static SourceOperation create(@NotNull String name, @NotNull PsiType type, PsiExpression @NotNull [] args) {
    if ("empty".equals(name) && args.length == 0) {
      return new Empty(type);
    }
    if ("of".equals(name) && args.length == 1) {
      return new Of(type, args[0]);
    }
    if ("ofNullable".equals(name) && args.length == 1) {
      return new OfNullable(type, args[0]);
    }

    return null;
  }
@Nullable
  static SourceOperation create(@NotNull String name, @NotNull PsiType type, PsiExpression @NotNull [] args)