I think this should be 

```scala
try f(searcher)
finally reader.close()
```