Replaced the ArrayBuffer return value container with a custom class that does not need to be re-allocated on each invocation
extends Traversable
cleanup
fixed the "iterate over every edge" bug