Made the code somewhat simpler
ConditionalPrefabValueBuilder can instantiate subclasses of its given type
PrefabValues for Google Guava