dRS - db4o Replication Services - is a framework for building applications that synchronize objects bi-directionally between databases.
Until recently, dRS' approach to collections followed the minimum common denominator rule - only a small set of collection types known to be supported across data stores was used for replication. One consequence was that during the replication of any kind of list container between two databases, dRS would give the receiving end an ArrayList instance (java.util.ArrayList for java and System.Collections.ArrayList for .net) no matter what the concrete type of the list was at the originating end. For simple scenarios this could be enough but a more round approach to collection handling was long awaited for. The wait is over.
dRS will now preserve collection types across databases unless the data source itself indicates otherwise - it would not make sense to replicate a Hibernate collection proxy such as PersistentList unchanged to a db4o container for instance.
For more on dRS visit the oficial home page.