@Nullable
  protected static PushDownDelegate findDelegateForTarget(@NotNull PsiElement sourceClass, @NotNull PsiElement targetClass) {
    for (PushDownDelegate delegate : EP_NAME.allForLanguage(targetClass.getLanguage())) {
      if (delegate.isApplicableForSource(sourceClass)) {
        return delegate;
      }
    }
    return null;
  }
@Nullable
  protected static PushDownDelegate findDelegateForTarget(@NotNull PsiElement sourceClass, @NotNull PsiElement targetClass)