here a new utility is instantiated - meaning yet against some weird cyclic dependency.

Why isn't a URLTransportUtility passed into the cache as part of the constructor ? 

seems the dependencies are mixed up.