Aggressive marking during traversal phase -- maybe make this an option.
Next the traversal of potential holes during the second pass. This could
be combined with the first pass, but this will complicate the logic of
a program that needs to be run once per dataset...