With a product cache in play, this almost seems like it could just be product = productCache.getProduct(pool.getProductId())?