@Override
  @Contract(pure = true)
  public @NotNull SearchScope intersectWith(@NotNull SearchScope scope2) {
    if (scope2 instanceof LocalSearchScope) {
      return intersectWith((LocalSearchScope)scope2);
    }
    return intersectWith((GlobalSearchScope)scope2);
  }
@Override
  @Contract(pure = true)
  public @NotNull SearchScope intersectWith(@NotNull SearchScope scope2)