(a) one annotations per VirtualFile, (b) one annotations per set of VirtualFile
I guess this is can be just (a), and you'll do your own iteration?
and one superclass thing per set of VirtualFile
Will we have pre-existing set of supertypes, or can this be any class?
The first one is quite easy to handle, where for the 2nd one we need to keep the whole classes hierarchy is some registry/"database".