@Override
  public @Nullable FList<TextRange> matchingFragments(@NotNull String name) {
    FList<TextRange> mainRanges = myMainMatcher.matchingFragments(name);
    boolean useMainRanges = mainRanges != null && !mainRanges.isEmpty() || myFallbackMatcher == null;
    return useMainRanges ? mainRanges : myFallbackMatcher.matchingFragments(name);
  }
@Override
  public @Nullable FList<TextRange> matchingFragments(@NotNull String name)