I'd like to declare elements in my plugin that interact with Java in mixed projects. In particular, I'd like to know how to:
1. Declare an element as the implementation of an interface, or the implementation of an interface method.
2. Declare an element as the extension of a concrete class, or an override for an instance method.
3. Declare an element as the declaration of a new class or interface.
In each of these cases my PSI elements are not derived from e.g. PsiMethod or PsiClass, which a lot of the built-in infrastructure seems to assume.