private function TreeFilter takes destructable d returns boolean
local boolean i = IsDestructableInvulnerable(d)
local boolean result = false
call SetUnitPosition(udg_TreeDummy, GetWidgetX(d), GetWidgetY(d))
if i then
call SetDestructableInvulnerable(d, false)
endif
set result = IssueTargetOrder(udg_TreeDummy, "harvest", d)
if i then
call SetDestructableInvulnerable(d, true)
endif
call IssueImmediateOrder(udg_TreeDummy, "stop")
set d = null
return result
endfunction