A custom-adapter is an interface which provides the ability to define non-standard iterators for specific data representations.