class VotingFuture extends AbstractFuture<T> {

    void voteYes() {
        if (castVote()) {
            synchronized (failures) {
                resolveResult();
            }
        }
    }

      VotingFuture(final T result, final int requiredVotes);

}