@@ -0,0 +1,590 @@
+package org.eclipse.dawnsci.nexus.builder;%0A%0Aimport java.util.function.Supplier;%0A%0Aimport org.eclipse.dawnsci.nexus.NXobject;%0Aimport org.eclipse.dawnsci.nexus.NexusBaseClass;%0A%0Apublic class DelegatingNexusObjectProvider%3CN extends NXobject%3E extends AbstractNexusObjectProvider%3CN%3E %7B%0A%0A%09private final Supplier%3CN%3E supplier; %0A%09%0A%09public DelegatingNexusObjectProvider(String name, NexusBaseClass nexusBaseClass,%0A%09%09%09Supplier%3CN%3E nexusObjectSupplier) %7B%0A%09%09super(name, nexusBaseClass);%0A%09%09this.supplier = nexusObjectSupplier;%0A%09%7D%0A%0A%09@Override%0A%09protected N createNexusObject() %7B%0A%09%09return supplier.get();%0A%09%7D%0A%0A%7D%0A

add DelegatingNexusObjectProvider that uses a Supplier