I think this will keep adding the tags over and over again for each loop and leak memory. Maybe we should pass a copy of instance into the check method to avoid this bug in all the checks