class ReputationManager {

  public boolean isConnectionInitiationAllowed(final PeerAddress peerAddress) {
    return peerReputations
        .getCached(peerAddress.getId())
        .map(reputation -> reputation.shouldInitiateConnection(timeProvider.getTimeInSeconds()))
        .orElse(true);
  }

  public  ReputationManager(
      final MetricsSystem metricsSystem, final TimeProvider timeProvider, final int capacity);

}