protected @Nullable Icon getBaseIcon() {
    if (this instanceof PsiElement) {
      PsiFile file = ((PsiElement)this).getContainingFile();
      if (file != null) {
        if (!isNativeFileType(file.getFileType())) {
          try {
            return file.getFileType().getIcon();
          }
          catch (ProcessCanceledException e) {
            throw e;
          }
          catch (Throwable e) {
            LOG.error(e);
          }
        }
      }
    }
    return IconManager.getInstance().getPlatformIcon(PlatformIcons.NodePlaceholder);
  }
protected @Nullable Icon getBaseIcon()