@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiField field) {
    if (!field.getType().equals(PsiTypes.longType())) return null;
    if (!"serialVersionUID".equals(field.getName())) return null;
    if (field.hasModifierProperty(PsiModifier.FINAL)) {
      PsiClass aClass = field.getContainingClass();
      if (aClass == null) return null;
      boolean initializersHasReferencesToField = StreamEx.of(aClass.getInitializers())
        .flatMap(initializer -> StreamEx.ofTree((PsiElement)initializer, el -> StreamEx.of(el.getChildren())))
        .select(PsiReferenceExpression.class)
        .anyMatch(el -> ExpressionUtils.isReferenceTo(el, field));
      if (initializersHasReferencesToField) {
        return null;
      }
    }
    return Presentation.of(getFamilyName());
  }
@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiField field)