private void processListGetRemove(@NotNull PsiMethodCallExpression call) {
        PsiReferenceExpression methodExpr = call.getMethodExpression();
        String name = methodExpr.getReferenceName();
        PsiExpression list = PsiUtil.skipParenthesizedExprDown(methodExpr.getQualifierExpression());
        if (list == null || list instanceof PsiThisExpression) return;
        PsiExpression arg = PsiUtil.skipParenthesizedExprDown(call.getArgumentList().getExpressions()[0]);
        if (ExpressionUtils.isZero(arg) && !hasDifferentIndexNearby(call)) {
          report(call, name + "First");
        }
        if (arg instanceof PsiBinaryExpression binOp && binOp.getOperationTokenType().equals(JavaTokenType.MINUS) &&
            ExpressionUtils.isOne(binOp.getROperand())) {
          IndexedContainer container = IndexedContainer.fromLengthExpression(binOp.getLOperand());
          if (container != null && container.isQualifierEquivalent(list)) {
            report(call, name + "Last");
          }
        }
      }
private void processListGetRemove(@NotNull PsiMethodCallExpression call)