@Override
  public CrumbPresentation[] getCrumbPresentations(PsiElement @NotNull [] elements) {
    if (elements.length == 0 || !isMyContext(elements[elements.length - 1])) {
      return null;
    }

    if (!XmlTagTreeHighlightingUtil.containsTagsWithSameName(elements)) {
      return null;
    }

    final CrumbPresentation[] result = new CrumbPresentation[elements.length];
    final Color[] baseColors = XmlTagTreeHighlightingUtil.getBaseColors();
    int index = 0;

    for (int i = result.length - 1; i >= 0; i--) {
      if (elements[i] instanceof XmlTag) {
        final Color color = baseColors[index % baseColors.length];
        result[i] = new MyCrumbPresentation(color);
        index++;
      }
    }
    return result;
  }
@Override
  public CrumbPresentation[] getCrumbPresentations(PsiElement @NotNull [] elements)