BridgeOuterModel implements IModel<T> { @Override public T getObject() { return value; } BridgeOuterModel(IModel<T> innerModel, IModel<Boolean> bridgeStateModel, T value); @Override T getObject(); @Override void setObject(T object); @Override void detach();  }
@Test public void testGetObject() { IModel<String> inner = Model.of("inner value"); IModel<Boolean> state = Model.of(false); BridgeOuterModel instance = new BridgeOuterModel(inner, state, "initial outer"); assertEquals("initial outer", instance.getObject()); state.setObject(true); assertEquals("initial outer", instance.getObject()); state.setObject(false); assertEquals("initial outer", instance.getObject()); }