Prevent CacheException from failing with NPE if source code is not available

If you try to cache a non-Serializable class on production where source files are not available, constructor of CacheException fails with NPE, which results in the original exception being lost.