Hi,
Yes you can do it and it will work, but the type system will not help you ... and even stand in your way in places.
In short, you cannot express the class of List<CustomObject> so you have to create a String.class, List.class cache.
Then when getting the cache, you have to cast it from Cache<String, List> to Cache<String, List<CustomObject>>.
Also, whenever you cache a mutable object make sure to understand that mutating it will be reflected in the cache unless you use copiers or move beyond heap.
Regards,
Louis