add loop with break

@js850, do you think this would be a way to then implement an overlap check (or other exits from the loop)?
don't put the keyword virtual.  The class does not inherit from anything.  This is done on purpose for efficiency reasons.  If you add the virtual keyword it will be slower.