package com.github.davidmoten.rx.jdbc;

class ConnectionProviderBatch implements ConnectionProvider {

	private final int batchSize;
	private final ConnectionProvider cp;
	private ConnectionBatch con;

	ConnectionProviderBatch(ConnectionProvider cp, int batchSize) {
		this.cp = cp;
		this.batchSize = batchSize;
	}

	@Override
	public ConnectionBatch get() {
		if (con == null) {
			con = new ConnectionBatch(cp.get(), batchSize);
		}
		return con;
	}

	@Override
	public void close() {
		cp.close();
	}

}

@@ -35,16 +35,73 @@
 dbc;%0D%0A%0D%0A
+import com.github.davidmoten.guavamini.Preconditions;%0D%0A%0D%0A
 class Co
@@ -157,17 +157,20 @@
 er %7B%0D%0A%0D%0A
-%09
+    
 private 
@@ -191,17 +191,20 @@
 hSize;%0D%0A
-%09
+    
 private 
@@ -233,17 +233,20 @@
 er cp;%0D%0A
-%09
+    
 private 
@@ -269,17 +269,20 @@
 con;%0D%0A%0D%0A
-%09
+    
 Connecti
@@ -338,18 +338,90 @@
 ize) %7B%0D%0A
-%09%09
+        Preconditions.checkNotNull(cp, %22cp should not be null%22);%0D%0A        
 this.cp 
@@ -427,18 +427,24 @@
  = cp;%0D%0A
-%09%09
+        
 this.bat
@@ -464,23 +464,29 @@
 hSize;%0D%0A
-%09
+    
 %7D%0D%0A%0D%0A
-%09
+    
 @Overrid
@@ -484,25 +484,28 @@
  @Override%0D%0A
-%09
+    
 public Conne
@@ -524,18 +524,24 @@
 et() %7B%0D%0A
-%09%09
+        
 if (con 
@@ -556,11 +556,20 @@
  %7B%0D%0A
-%09%09%09
+            
 con 
@@ -617,15 +617,27 @@
 );%0D%0A
-%09%09%7D%0D%0A%09%09
+        %7D%0D%0A        
 retu
@@ -649,15 +649,21 @@
 n;%0D%0A
-%09
+    
 %7D%0D%0A%0D%0A
-%09
+    
 @Ove
@@ -669,17 +669,20 @@
 erride%0D%0A
-%09
+    
 public v
@@ -700,10 +700,16 @@
  %7B%0D%0A
-%09%09
+        
 cp.c
@@ -721,9 +721,12 @@
 );%0D%0A
-%09
+    
 %7D%0D%0A%0D

add Preconditions check to ConnectionProviderBatch constructor