Old.
Special thanks to Bribe, baassee and Troll-Brain.
Rewritten. Modularity, configurability and efficiency - sums up the update.
Note: treeOnly parameter (destructable module) cease to exist, reasoning: there is a filter argument already, thus if you want to seach for trees-only do it there...