private static BootstrapController.BootstrapControllerImpl getBootstrapControllerImpl(
      ServerReplicationMode serverReplicationMode) {

    Properties props = new Properties();
    props.setProperty("server.replication.protocol.for.hydration", String.valueOf(serverReplicationMode));
    serverConfig = new ServerConfig(new VerifiableProperties(props));

    return new BootstrapController(storeManager, storeConfig, serverConfig, primaryClusterParticipant)
        .new BootstrapControllerImpl();
  }
Test for {@link BootstrapController.BootstrapControllerImpl#onPartitionBecomeBootstrapFromOffline(String)}
when :-
1. The server replication mode is {@link ServerReplicationMode#FILE_BASED}
2. Replica is not null
3. Bootstrap_in_progress file doesn't exist
4. Filecopy_in_progress file doesn't exist
5. Atleast one LogSegment File exists for the partition
Bootstrap Controller is expected to instantiate storageManagerListener
ReplicationProtocolTransitionType is either of the following types :-
a. {@link ReplicationProtocolTransitionType#BLOB_BASED_HYDRATION_COMPLETE_TO_FILE_BASED_HYDRATION} state
b. {@link ReplicationProtocolTransitionType#FILE_BASED_HYDRATION_COMPLETE_TO_FILE_BASED_HYDRATION} state
ambry-store/src/test/java/com/github/ambry/store/BootstrapControllerTest.java