question: @ Override public synchronized void vote ( BooleanVote vote ) { if ( decision ) return ; if ( vote . getVote ( ) ) { total ++ ; latch . countDown ( ) ; if ( total >= votesNeeded ) { decision = true ; } } }
target:  live nodes | remaining nodes |  majority   | votes needed 1      |       0         |     0       |      0 2      |       1         |     1       |      1 n      |    r = n-1      |   n/2 + 1   |   n/2 + 1 rounded 3      |       2         |     2.5     |      2 4      |       3         |      3      |      3 5      |       4         |     3.5     |      3 6      |       5         |      4      |      4