@Override
  public void renderElement(@NotNull LookupElementPresentation presentation) {
    final Object object = getObject();
    if (object instanceof PsiClass) {
      JavaPsiClassReferenceElement.renderClassItem(presentation, this, (PsiClass)object, myDiamond, myLocationString, mySubstitutor);
    } else {
      assert object instanceof PsiType;

      if (!(object instanceof PsiPrimitiveType)) {
        presentation.setIcon(DefaultLookupItemRenderer.getRawIcon(this));
      }

      presentation.setItemText(((PsiType)object).getCanonicalText());
      presentation.setItemTextBold(object instanceof PsiPrimitiveType);
      if (isAddArrayInitializer()) {
        presentation.setTailText("{...}");
      }

    }
    if (myBracketsCount > 0) {
      List<LookupElementPresentation.TextFragment> tail = new ArrayList<>(presentation.getTailFragments());
      presentation.clearTail();
      presentation.appendTailText(StringUtil.repeat("[]", myBracketsCount), false);
      for (LookupElementPresentation.TextFragment fragment : tail) {
        presentation.appendTailText(fragment.text, fragment.isGrayed());
      }
    }
  }
@Override
  public void renderElement(@NotNull LookupElementPresentation presentation)