static ReplicationSourceInterface create(Configuration conf, ReplicationQueueId queueId) {
    boolean isQueueRecovered = queueId.isRecovered();
    ReplicationSourceInterface src;
    try {
      String defaultReplicationSourceImpl = isQueueRecovered
        ? RecoveredReplicationSource.class.getCanonicalName()
        : ReplicationSource.class.getCanonicalName();
      Class<?> c = Class.forName(
        conf.get("replication.replicationsource.implementation", defaultReplicationSourceImpl));
      src = c.asSubclass(ReplicationSourceInterface.class).getDeclaredConstructor().newInstance();
    } catch (Exception e) {
      LOG.warn("Passed replication source implementation throws errors, "
        + "defaulting to ReplicationSource", e);
      src = isQueueRecovered ? new RecoveredReplicationSource() : new ReplicationSource();
    }
    return src;
  }
Constructs a {@link ReplicationSourceInterface} Note, not used to create specialized
ReplicationSources
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceFactory.java