private synchronized void perform(){
  if (done)   return;
  while (myElements.hasNext()) {
    Object element=myElements.next();
    if (!isVisited(element)) {
      visit(element,1);
    }
  }
}

private synchronized void perform ( ) { if ( done ) return ; while ( myElements . hasNext ( ) ) { Object element = myElements . next ( ) ; if ( ! isVisited ( element ) ) { visit ( element , 1 ) ; } } }
performs the depth first traversion of all elements
