### Question:
ContainerBinding extends BindingContext implements Binding { @Override public void updateFromPmo() { binding.updateFromPmo(); super.updateFromPmo(); } ContainerBinding(Binding selfBinding, PropertyBehaviorProvider behaviorProvider,
            PropertyDispatcherFactory dispatcherFactory, Handler modelChanged); @Override void modelChanged(); @Override void updateFromPmo(); @Override Object getBoundComponent(); @Override Object getPmo();  }### Answer:
@Test public void testUpdateFromPmo_ManuallyUpdated() { BindingContext bindingContext = new BindingContext(); ComponentWrapper componentWrapper = new TestComponentWrapper(new TestUiComponent()); TestAspectDef testAspectDef = new TestAspectDef(); bindingContext.bindContainer(new TestPmo(new TestModelObject()), BoundProperty.of("test"), Arrays.asList(testAspectDef), componentWrapper); testAspectDef.triggered = false; bindingContext.updateFromPmo(); assertThat(testAspectDef.triggered, is(true)); }
@Test public void testUpdateFromPmo_ContainerBindingBeforeChildren() { BindingContext bindingContext = new BindingContext(); ComponentWrapper componentWrapper = new TestComponentWrapper(new TestUiComponent()); TestAspectDef testAspectDef = new TestAspectDef(); TestDependantAspectDef testDependantAspectDef = new TestDependantAspectDef(testAspectDef); ContainerBinding binding = bindingContext.bindContainer(new Object(), BoundProperty.of("test"), Arrays.asList(testAspectDef), componentWrapper); binding.bind(new Object(), BoundProperty.of("test2"), Arrays.asList(testDependantAspectDef), componentWrapper); assertThat(testAspectDef.triggered, is(true)); assertThat(testDependantAspectDef.triggered, is(true)); testAspectDef.triggered = false; testDependantAspectDef.triggered = false; binding.updateFromPmo(); assertThat(testAspectDef.triggered, is(true)); assertThat(testDependantAspectDef.triggered, is(true)); }