Optional Features In Java