/**
  * Get a Mockito spied-upon {@link HConnection} that goes with the passed <code>conf</code>
  * configuration instance. Be sure to shutdown the connection when done by calling {@link
  * HConnectionManager#deleteConnection(Configuration, boolean)} else it will stick around; this is
  * probably not what you want.
  *
  * @param conf configuration
  * @return HConnection object for <code>conf</code>
  * @throws ZooKeeperConnectionException
  * @see http://mockito.googlecode.com/svn/branches/1.6/javadoc/org/mockito/Mockito.html#spy(T)
  */
 public static HConnection getSpiedConnection(final Configuration conf)
     throws ZooKeeperConnectionException {
   HConnectionKey connectionKey = new HConnectionKey(conf);
   synchronized (HConnectionManager.HBASE_INSTANCES) {
     HConnectionImplementation connection = HConnectionManager.HBASE_INSTANCES.get(connectionKey);
     if (connection == null) {
       connection = Mockito.spy(new HConnectionImplementation(conf, true));
       HConnectionManager.HBASE_INSTANCES.put(connectionKey, connection);
     }
     return connection;
   }
 }
 /**
  * Get a Mocked {@link HConnection} that goes with the passed <code>conf</code>
  * configuration instance.  Minimally the mock will return
  * <code>conf</conf> when {@link HConnection#getConfiguration()} is invoked.
  * Be sure to shutdown the connection when done by calling
  * {@link HConnectionManager#deleteConnection(Configuration, boolean)} else it
  * will stick around; this is probably not what you want.
  * @param conf configuration
  * @return HConnection object for <code>conf</code>
  * @throws ZooKeeperConnectionException
  */
 public static HConnection getMockedConnection(final Configuration conf)
     throws ZooKeeperConnectionException {
   HConnectionKey connectionKey = new HConnectionKey(conf);
   synchronized (HConnectionManager.HBASE_INSTANCES) {
     HConnectionImplementation connection = HConnectionManager.HBASE_INSTANCES.get(connectionKey);
     if (connection == null) {
       connection = Mockito.mock(HConnectionImplementation.class);
       Mockito.when(connection.getConfiguration()).thenReturn(conf);
       HConnectionManager.HBASE_INSTANCES.put(connectionKey, connection);
     }
     return connection;
   }
 }
 /** @return Count of extant connection instances */
 public static int getConnectionCount() {
   synchronized (HConnectionManager.HBASE_INSTANCES) {
     return HConnectionManager.HBASE_INSTANCES.size();
   }
 }