protected virtual void WritePackageToProvider(RemotingPackage package, IConfiguration configuration) { var sitecoreSerializationProvider = configuration.Resolve<ISerializationProvider>() as SitecoreSerializationProvider; if (sitecoreSerializationProvider == null) throw new InvalidOperationException("I only know how to write to SitecoreSerializationProvider types. Override WritePackageToProvider if you need to do others."); var writer = configuration.Resolve<RemotingPackageWriter>(); writer.WriteTo(package, sitecoreSerializationProvider.SerializationRoot); }