Pattern Logic In Java