implement algorithm, data structure, popular Java library and design pattern in Java.