Check if the election can be concluded or not.

        * Elections can only be concluded if the validator set has not changed
          since the election was initiated.
        * Elections can be concluded only if the current votes form a supermajority.

        Custom elections may override this function and introduce additional checks.

def has_concluded(self, bigchain, current_votes=[]):
        """Check if the election can be concluded or not.

        * Elections can only be concluded if the validator set has not changed
          since the election was initiated.
        * Elections can be concluded only if the current votes form a supermajority.

        Custom elections may override this function and introduce additional checks.
        """
        if self.has_validator_set_changed(bigchain):
            return False

        election_pk = self.to_public_key(self.id)
        votes_committed = self.get_commited_votes(bigchain, election_pk)
        votes_current = self.count_votes(election_pk, current_votes)

        total_votes = sum(output.amount for output in self.outputs)
        if (votes_committed < (2/3) * total_votes) and \
                (votes_committed + votes_current >= (2/3)*total_votes):
            return True

        return False