validate by chain design pattern
About collection/generic