@Override
  public boolean containsRange(@NotNull PsiFile file, @NotNull TextRange range) {
    VirtualFile virtualFile = file.getVirtualFile();
    if (virtualFile == null) virtualFile = file.getNavigationElement().getContainingFile().getVirtualFile();
    VirtualFile[] files = getVirtualFiles();
    if (files.length == 0) return false;
    if (!files[0].equals(virtualFile)) return false;

    TextRange[] ranges = getRanges();
    for (TextRange textRange : ranges) {
      if (textRange.contains(range)) {
        return true;
      }
    }

    return false;
  }
@Override
  public boolean containsRange(@NotNull PsiFile file, @NotNull TextRange range)