refactoring
add filter
add anyMatch/allMatch
javadoc