@Override
  public PsiElement bindToElement(@NotNull PsiElement element) throws IncorrectOperationException {
    String newElementName;
    if (element instanceof PsiPackage) {
      newElementName = ((PsiPackage)element).getQualifiedName();
    }
    else if (element instanceof PsiClass) {
      newElementName = ClassUtil.getJVMClassName((PsiClass)element);
    }
    else {
      return null;
    }
    if (newElementName != null) {
      final SPIClassProvidersElementList firstChild =
        (SPIClassProvidersElementList)PsiFileFactory.getInstance(getProject())
          .createFileFromText("spi_dummy", SPIFileType.INSTANCE, newElementName).getFirstChild();
      return replace(firstChild.getElements().get(0));
    }
    return null;
  }
@Override
  public PsiElement bindToElement(@NotNull PsiElement element)