Stores NetworkManager::getStoreCandidates() { Stores result; while( !depthSearcher->isExhausted() ) { Elements elements = depthSearcher->getElementCandidates(); cerr << "[NM]\tDepth search returned " << elements.size() << endl; for ( Elements::iterator i = elements.begin(); i != elements.end(); i++ ) { Element * element = *i; if ( ! element->isStore() ) continue; Store * store = (Store *) element; if ( rejectedStores.find(store) != rejectedStores.end() ) continue; result.insert(store); } depthSearcher->increaseSearchSpace(); if ( !result.empty() ) break; } rejectedStores.insert(result.begin(), result.end()); cerr << "[NM]\tPrepared " << result.size() << " candidates" << endl; return result; }