Add caching to canAccessReviewMaterials()