@Nullable
 @Override
 public UsageTarget[] getTargets(final Editor editor, final PsiFile file) {
   final PsiElement element = file.findElementAt(editor.getCaretModel().getOffset());
   if (element != null) {
     final PyStringLiteralExpression literal =
         PsiTreeUtil.getParentOfType(element, PyStringLiteralExpression.class);
     if ((literal != null) && PyMagicLiteralTools.isMagicLiteral(literal)) {
       return new UsageTarget[] {new PsiElement2UsageTargetAdapter(literal)};
     }
   }
   return UsageTarget.EMPTY_ARRAY;
 }
 @Override
 public void processQuery(
     @NotNull final ReferencesSearch.SearchParameters queryParameters,
     @NotNull final Processor<PsiReference> consumer) {
   ApplicationManager.getApplication()
       .runReadAction(
           () -> {
             final PsiElement refElement = queryParameters.getElementToSearch();
             if (PyMagicLiteralTools.isMagicLiteral(refElement)) {
               final String refText = ((StringLiteralExpression) refElement).getStringValue();
               if (!StringUtil.isEmpty(refText)) {
                 final SearchScope searchScope = queryParameters.getEffectiveSearchScope();
                 queryParameters.getOptimizer().searchWord(refText, searchScope, true, refElement);
               }
             }
           });
 }