public static void writeType(@NotNull final StringBuilder builder,
                               @Nullable PsiType type,
                               @NotNull final PsiElement context,
                               @NotNull final ClassNameProvider classNameProvider) {
    if (type == null || PsiTypes.nullType().equals(type)) {
      builder.append(CommonClassNames.JAVA_LANG_OBJECT);
      return;
    }

    if (type instanceof PsiPrimitiveType) {
      builder.append(type.getCanonicalText());
      return;
    }

    final boolean acceptEllipsis = isLastParameter(context);

    type.accept(new TypeWriter(builder, classNameProvider, acceptEllipsis, context));
  }
public static void writeType(@NotNull final StringBuilder builder,
                               @Nullable PsiType type,
                               @NotNull final PsiElement context,
                               @NotNull final ClassNameProvider classNameProvider)