Store* propagate() { /// returns the next store available for scanning debug() << "propagate: " << url << endl; if( parent ) { parent->directory->append( directory ); if( parent->stores.isEmpty() ) { return parent->propagate(); } else return parent; } //we reached the root, let's get our next directory scanned return this; }