add notes: design pattern & java generic and collections.