fix FilterIterator and add IteratorTest
once add all draft components
Merge commit 'fb7bd9cb30db37899f238f1fe67af1f92cbe9883' into rock/tag