BFT(this.n, this.f) { if (n <= 0) throw ArgumentError('n>0'); if (f < 0 || f * 3 >= n) throw ArgumentError('invalid f for n'); }