public static SQLRefReference isValidAnnoRef(PsiElement psiElement) {
   final Language language = psiElement.getLanguage();
   final Project project = psiElement.getProject();
   if (language instanceof JavaLanguage) {
     if (psiElement instanceof PsiModifierList) {
       PsiAnnotation[] annotations = ((PsiAnnotationOwner) psiElement).getAnnotations();
       for (PsiAnnotation annotation : annotations) {
         return getValidAnnoReference(annotation, project);
       }
     }
     if (psiElement instanceof PsiAnnotation) {
       return getValidAnnoReference((PsiAnnotation) psiElement, project);
     }
     if (psiElement instanceof PsiJavaToken
         && ((PsiJavaToken) psiElement).getTokenType() == JavaTokenType.STRING_LITERAL) {
       return getValidAnnoReference(StringUtils.cleanQuote(psiElement.getText()), project);
     }
   }
   if (language instanceof XMLLanguage) {
     if (SQLRefNamingUtil.isPropitiousXmlFile(psiElement.getContainingFile())) {
       final boolean isXmlTokenValid =
           new FilterElementProcessor(
                   new XmlTokenTypeFilter(XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN))
               .execute(psiElement);
       if (isXmlTokenValid) {
         final String sqlRefKey = getSqlRefKey(psiElement);
         if (sqlRefKey != null) {
           SQLRefReference sqlRefReferenceForID =
               ServiceManager.getService(psiElement.getProject(), SQLRefRepository.class)
                   .getSQLRefReferenceForID(sqlRefKey);
           if (sqlRefReferenceForID != null) {
             if (!sqlRefReferenceForID.getClassAnnoElements().isEmpty()) {
               return sqlRefReferenceForID;
             }
           }
         }
       }
     }
   }
   return null;
 }