private AsyncClusterConnection connect() throws IOException {
    AsyncClusterConnection c = this.conn;
    if (c != null) {
      return c;
    }
    synchronized (connLock) {
      c = this.conn;
      if (c != null) {
        return c;
      }
      c = createConnection(clusterURI, conf);
      conn = c;
    }
    return c;
  }
Some implementations of HBaseInterClusterReplicationEndpoint may require instantiate different
Connection implementations, or initialize it in a different way, so defining createConnection
as protected for possible overridings.
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java