Runtime Item Collection Provider implementation defines how Item Collections assets should be loaded & unloaded during runtime by Manager.
Persistent Item Collection Provider implementation is used by Database Editor to view and edit Item Collections values with Undo / Redo support.
For example, Resource Collection Provider implements asynchronous Item Collection loading & unloading. Storing Item Collections inside a Resources folder ensures that only Item Collections associated with Selected Language are loaded into memory at runtime.
You can define your own Item Collection Provider by creating a class that implements IKnotRuntimeItemCollectionProvider and IKnotPersistentItemCollectionProvider (optional). After that you are able to add it to Language Data in Database Editor.
Note
Custom class should have no constructor or at least one public constructor without arguments.
Warning
If you decide to remove, change the name, namespace or assembly of custom class you will get serialization error and possibly lose data. As a temporary solution, add [MovedFrom] attribute to your class before making those changes.