@Test(timeout = 120000)
 public void testSuccessfulSocketInterceptor() {
   Config config = new Config();
   SocketInterceptorConfig sic = new SocketInterceptorConfig();
   MySocketInterceptor mySocketInterceptor = new MySocketInterceptor(true);
   sic.setImplementation(mySocketInterceptor);
   config.getNetworkConfig().setSocketInterceptorConfig(sic);
   HazelcastInstance h1 = Hazelcast.newHazelcastInstance(config);
   HazelcastInstance h2 = Hazelcast.newHazelcastInstance(config);
   HazelcastInstance h3 = Hazelcast.newHazelcastInstance(config);
   HazelcastInstance h4 = Hazelcast.newHazelcastInstance(config);
   int count = 1000;
   for (int i = 0; i < count; i++) {
     h1.getMap("default").put(i, "value" + i);
     h2.getMap("default").put(i, "value" + i);
     h3.getMap("default").put(i, "value" + i);
     h4.getMap("default").put(i, "value" + i);
   }
   assertEquals(4, h4.getCluster().getMembers().size());
   assertTrue(mySocketInterceptor.getAcceptCallCount() >= 6);
   assertTrue(mySocketInterceptor.getConnectCallCount() >= 6);
   assertEquals(4, mySocketInterceptor.getInitCallCount());
   assertEquals(0, mySocketInterceptor.getAcceptFailureCount());
   assertEquals(0, mySocketInterceptor.getConnectFailureCount());
   ClientConfig clientConfig = new ClientConfig();
   clientConfig.setGroupConfig(new GroupConfig("dev", "dev-pass")).addAddress("localhost");
   MySocketInterceptor myClientSocketInterceptor = new MySocketInterceptor(true);
   clientConfig.setSocketInterceptor(myClientSocketInterceptor);
   HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
   for (int i = 0; i < count; i++) {
     client.getMap("default").put(i, "value" + i);
   }
   assertTrue(mySocketInterceptor.getAcceptCallCount() >= 7);
   assertTrue(mySocketInterceptor.getConnectCallCount() >= 6);
   assertEquals(1, myClientSocketInterceptor.getConnectCallCount());
   assertEquals(0, myClientSocketInterceptor.getAcceptCallCount());
   assertEquals(0, mySocketInterceptor.getAcceptFailureCount());
   assertEquals(0, mySocketInterceptor.getConnectFailureCount());
   assertEquals(0, myClientSocketInterceptor.getAcceptFailureCount());
   assertEquals(0, myClientSocketInterceptor.getConnectFailureCount());
 }