add description
NonNullIterator and its Test
add Criteria
Merge remote-tracking branch 'origin/jingxin' into Ray