CompositePropertyUpdateCallback implements PropertyUpdateCallback { @Override public void done() throws CommitFailedException { for (PropertyUpdateCallback callback : callbacks) { callback.done(); } } CompositePropertyUpdateCallback(@NotNull Collection<PropertyUpdateCallback> callbacks); @Override void propertyUpdated(String nodePath, String propertyRelativePath, PropertyDefinition pd,
                                @Nullable PropertyState before, @Nullable PropertyState after); @Override void done();  }
@Test public void done() throws CommitFailedException { List<PropertyUpdateCallback> delegates = new LinkedList<>(); delegates.add(mock(PropertyUpdateCallback.class)); delegates.add(mock(PropertyUpdateCallback.class)); CompositePropertyUpdateCallback compositePropertyUpdateCallback = new CompositePropertyUpdateCallback(delegates); compositePropertyUpdateCallback.done(); }