@Override
  @RequiresReadLock
  @RequiresBackgroundThread
  public @NotNull Bag getFeatures(@NotNull PsiElement usage) {
    PsiElement context = getContainingStatement(usage);
    if (context != null) {
      final Bag usageFeatures = new JavaSimilarityFeaturesExtractor(usage, context).getFeatures();
      if (Registry.is("similarity.find.usages.parent.statement.condition.feature")) {
        usageFeatures.addAll(getParentStatementFeatures(usage, context));
      }
      return usageFeatures;
    }
    return Bag.EMPTY_BAG;
  }
@Override
  @RequiresReadLock
  @RequiresBackgroundThread
  public @NotNull Bag getFeatures(@NotNull PsiElement usage)