@Override
  protected void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
    final PsiReferenceExpression referenceExpression;
    final PsiIfStatement ifStatement;
    if (element instanceof PsiKeyword) {
      // double-checked locking
      final PsiElement parent = element.getParent();
      if (!(parent instanceof PsiIfStatement)) {
        return;
      }
      ifStatement = (PsiIfStatement)parent;
      final PsiIfStatement innerIfStatement = getDoubleCheckedLockingInnerIf(ifStatement);
      if (innerIfStatement == null) {
        return;
      }
      final PsiStatement thenBranch2 = ControlFlowUtils.stripBraces(innerIfStatement.getThenBranch());
      if (!(thenBranch2 instanceof PsiExpressionStatement expressionStatement)) {
        return;
      }
      final PsiExpression expression = expressionStatement.getExpression();
      if (!(expression instanceof PsiAssignmentExpression assignmentExpression)) {
        return;
      }
      final PsiExpression lhs = PsiUtil.skipParenthesizedExprDown(assignmentExpression.getLExpression());
      if (!(lhs instanceof PsiReferenceExpression)) {
        return;
      }
      referenceExpression = (PsiReferenceExpression)lhs;
    } else {
      referenceExpression = (PsiReferenceExpression)element;
      ifStatement = PsiTreeUtil.getParentOfType(referenceExpression, PsiIfStatement.class);
    }
    replaceWithStaticHolder(referenceExpression, ifStatement, updater);
  }
@Override
  protected void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater)