ForeignKeyListHolder { @Override public String toString() { return this.loaded != null ? this.loaded.toString() : "unloaded + " + this.addedBeforeLoaded + " - " + this.removedBeforeLoaded; } ForeignKeyListHolder(
    T parent,
    Alias<U> childAlias,
    ForeignKeyAliasColumn<U, T> childForeignKeyToParentColumn,
    ListProxy.Delegate<U> listDelegate); List<U> get(); void add(U instance); void remove(U instance); void set(List<U> instances); @Override String toString();  }
@Test public void testToString() { DummyDomainObject parent = new DummyDomainObject(); ForeignKeyListHolder<DummyDomainObject, DummyDomainObject> h = new ForeignKeyListHolder<DummyDomainObject, DummyDomainObject>(parent, null, null, null); Assert.assertEquals("unloaded + [] - []", h.toString()); h.add(new DummyDomainObject()); Assert.assertEquals("unloaded + [DummyDomainObject[null]] - []", h.toString()); }