Merge branch 'release'
diff --git a/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java b/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
index cc341a3..d601cda 100644
--- a/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
+++ b/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
@@ -29,6 +29,7 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -52,6 +53,7 @@
     private Consumer<IInstanceConfig> configUpdater;
     private ClassLoader sharedClassLoader = Thread.currentThread().getContextClassLoader();
     private int broadcastPort = 7012;
+    private BiConsumer<ClassLoader, Integer> instanceInitializer = (cl, id) -> {};
 
     public AbstractBuilder(Factory<I, C, B> factory)
     {
@@ -94,6 +96,11 @@
         return broadcastPort;
     }
 
+    public BiConsumer<ClassLoader, Integer> getInstanceInitializer()
+    {
+        return instanceInitializer;
+    }
+
     public C start() throws IOException
     {
         C cluster = createWithoutStarting();
@@ -255,6 +262,12 @@
         return (B) this;
     }
 
+    public B withInstanceInitializer(BiConsumer<ClassLoader, Integer> instanceInitializer)
+    {
+        this.instanceInitializer = instanceInitializer;
+        return (B) this;
+    }
+
     static String dcName(int index)
     {
         return "datacenter" + index;