Expected behavior
Objects are filtered to those with matching key and class
Actual behavior
Setting:

Loaded class (notice wrong type):

Steps to reproduce
Use DataObject with attribute set to SYSTEM Key.
Have two different classes with objects with the same key. Specify one of the classes in the loader. If that works, change the loader to the other class. In one case the wrong object will be loaded
Expected behavior
Objects are filtered to those with matching key and class
Actual behavior
Setting:

Loaded class (notice wrong type):

Steps to reproduce
Use DataObject with attribute set to SYSTEM Key.
Have two different classes with objects with the same key. Specify one of the classes in the loader. If that works, change the loader to the other class. In one case the wrong object will be loaded