public class RussianDoll { // version 2 private RussianDoll inner; public RussianDoll(RussianDoll rd) { inner = rd; } public RussianDoll smaller() throws NegativeException { if (this == null) // what's wrong with this? throw NegativeException; return inner; } public RussianDoll bigger() { return new RussianDoll(this); } public static void main(String args[]) throws NegativeException { // neither of these works RussianDoll rd1 = null.bigger().bigger().bigger().smaller().bigger(); RussianDoll rd2 = ((RussianDoll)null).bigger().bigger().bigger().smaller().bigger(); } }