I would just use TileGenericPipe.getTileCache straight out. Pipes are particularly greedy with regards to access to tile information, which is why we have this cache. It makes less sense with regular processing.