The cache should never be null - we never set it to null, and externals shouldn't do that either. I think we're being overcautious with the null checks.