No.  We want to check the alternates packs first before the local filesystem.

Basically, looking at pack files is faster (no filesystem system calls) and more likely to hit (packs have the bulk of the objects).  So we intentionally examine pack files before we examine the loose objects.

That's why this code is so nasty.  We have to examine all pack files, recursively through alternates, *then* examine the loose objects directory, and recursively go through alternates.

This particular rule was hard-won on the C git side, and is based on experiences across lots of platforms, including Windows and Mac OS X where filesystem system calls are horribly slow compared to doing two or three binary search steps against an in-memory table held inside of the JVM heap.  :-)