By the way I just noticed, it looks like we're changing the public API here. It used to return Array[String], but now it returns an Option. A second point is that using `Try` here changes the semantics a little bit. Before we propagate any exception that's not `NoSuchField*`, but now we swallow everything.

I think we should revert this method to what it was before, and have the caller deal with the fact that this can potentially be null.