public static T ToPoco <T>(this RawResourceElement resource, ResourceDeserializer deserializer) where T : Resource { EnsureArg.IsNotNull(resource, nameof(resource)); EnsureArg.IsNotNull(deserializer, nameof(deserializer)); var deserialized = deserializer.DeserializeRawResourceElement(resource); return(deserialized.ToPoco <T>()); }