@Override
    String createReplacement(CommentTracker ct) {
      if (myExpression instanceof PsiNewExpression) {
        PsiArrayInitializerExpression initializer = ((PsiNewExpression)myExpression).getArrayInitializer();
        if (initializer != null) {
          PsiElement[] children = initializer.getChildren();
          if (children.length > 2) {
            String initializerText = StreamEx.of(children, 1, children.length - 1).map(ct::text).joining();
            PsiType type = myExpression.getType();
            if (type instanceof PsiArrayType) {
              PsiType componentType = ((PsiArrayType)type).getComponentType();
              String streamClass = StreamApiUtil.getStreamClassForType(componentType);
              if (streamClass != null) {
                return streamClass + "." + (componentType instanceof PsiClassType ? "<" + componentType.getCanonicalText() + ">" : "")
                       + "of(" + initializerText + ")";
              }
            }
          }
        }
      }
      return CommonClassNames.JAVA_UTIL_ARRAYS + ".stream(" + ct.text(myExpression) + ")";
    }
@Override
    String createReplacement(CommentTracker ct)