public T Read <T>(BinaryContainer data) where T : Persistable { if (data == null) { throw new ArgumentNullException(nameof(data)); } using (var reader = data.AsText().Read()) { var instance = Persistable.Deserialize <T>(data.Identifier, reader, mInstancePool, mConverters); return(instance); } }