Study Java Design Pattern.