class BeaconValidators {

  public static long getEffectiveListSize(List<Validator> list, boolean activeOnly, UInt64 epoch) {
    if (!activeOnly) {
      return list.size();
    } else {
      return list.stream().filter(v -> is_active_validator(v, epoch)).count();
    }
  }

  @VisibleForTesting public  BeaconValidators(tech.pegasys.teku.datastructures.state.BeaconState state);
  @VisibleForTesting public  BeaconValidators();
  @VisibleForTesting public  BeaconValidators(
      tech.pegasys.teku.datastructures.state.BeaconState state,
      final boolean activeOnly,
      final UInt64 epoch,
      final int pageSize,
      final int pageToken);
  public  BeaconValidators(
      tech.pegasys.teku.datastructures.state.BeaconState state, List<BLSPubKey> filter);
  public  BeaconValidators(
      final BeaconState state, final boolean activeOnly, final int pageSize, final int pageToken);
    BeaconValidators(
      final List<Validator> list,
      final List<UInt64> balances,
      final boolean activeOnly,
      final UInt64 epoch,
      final int pageSize,
      final int pageToken);

}