/** * Tracks open/closed lifecycle. Subclasses should always call <tt>super.onOpen()</tt> in methods * that override this one. */ @Override public void onOpen() { if (this.place == null) { throw new IllegalStateException("Activity " + this + " has not been started"); } if (open) { throw new IllegalStateException("Activity " + this + " already open"); } open = true; placeManager.executeOnOpenCallback(this.place); }