@Test public void newClientCanBeCreatedIfItAlreadyExistsInTheDirectory() { paxosComponents.learner(CLIENT); LocalPaxosComponents rejectingComponents = createPaxosComponents(false); assertThat(rejectingComponents.learner(CLIENT)).isNotNull(); }
public PaxosLearner learner(Client client) { return getOrCreateComponents(client).learner(); }
LocalPaxosComponents { public PaxosLearner learner(Client client) { return getOrCreateComponents(client).learner(); } }
LocalPaxosComponents { public PaxosLearner learner(Client client) { return getOrCreateComponents(client).learner(); } private  LocalPaxosComponents(TimelockPaxosMetrics metrics,
            PaxosUseCase paxosUseCase,
            Path legacyLogDirectory,
            DataSource sqliteDataSource,
            UUID leaderUuid,
            boolean canCreateNewClients,
            OrderableSlsVersion timeLockVersion); }
LocalPaxosComponents { public PaxosLearner learner(Client client) { return getOrCreateComponents(client).learner(); } private  LocalPaxosComponents(TimelockPaxosMetrics metrics,
            PaxosUseCase paxosUseCase,
            Path legacyLogDirectory,
            DataSource sqliteDataSource,
            UUID leaderUuid,
            boolean canCreateNewClients,
            OrderableSlsVersion timeLockVersion); static LocalPaxosComponents createWithBlockingMigration(TimelockPaxosMetrics metrics,
            PaxosUseCase paxosUseCase,
            Path legacyLogDirectory,
            DataSource sqliteDataSource,
            UUID leaderUuid,
            boolean canCreateNewClients,
            OrderableSlsVersion timeLockVersion); PaxosAcceptor acceptor(Client client); PaxosLearner learner(Client client); PingableLeader pingableLeader(Client client); BatchPaxosAcceptor batchAcceptor(); BatchPaxosLearner batchLearner(); BatchPingableLeader batchPingableLeader(); }
LocalPaxosComponents { public PaxosLearner learner(Client client) { return getOrCreateComponents(client).learner(); } private  LocalPaxosComponents(TimelockPaxosMetrics metrics,
            PaxosUseCase paxosUseCase,
            Path legacyLogDirectory,
            DataSource sqliteDataSource,
            UUID leaderUuid,
            boolean canCreateNewClients,
            OrderableSlsVersion timeLockVersion); static LocalPaxosComponents createWithBlockingMigration(TimelockPaxosMetrics metrics,
            PaxosUseCase paxosUseCase,
            Path legacyLogDirectory,
            DataSource sqliteDataSource,
            UUID leaderUuid,
            boolean canCreateNewClients,
            OrderableSlsVersion timeLockVersion); PaxosAcceptor acceptor(Client client); PaxosLearner learner(Client client); PingableLeader pingableLeader(Client client); BatchPaxosAcceptor batchAcceptor(); BatchPaxosLearner batchLearner(); BatchPingableLeader batchPingableLeader();  }