@NotNull
  private static PsiTypeElement getInnermostComponentTypeElement(@NotNull PsiTypeElement typeElement) {
    PsiElement child = typeElement.getFirstChild();
    while (child instanceof PsiTypeElement) {
      typeElement = (PsiTypeElement)child;
      child = typeElement.getFirstChild();
    }
    return typeElement;
  }
@NotNull
  private static PsiTypeElement getInnermostComponentTypeElement(@NotNull PsiTypeElement typeElement)