Factor out the solveRemoveViolation() to solveCase1RemoveViolation(), solveCase2RemoveViolation() and solveCase3RemoveViolation()