Design Pattern in Java.