code: func (c bitConditionChecker) Condition(node *blockNode) (bool, error) {
  	conditionMask := uint32(1) << c.bit
  	version := uint32(node.version)
  	if version&vbTopMask != vbTopBits {
  		return false, nil
  	}
  	if version&conditionMask == 0 {
  		return false, nil
  	}
  
  	expectedVersion, err := c.chain.calcNextBlockVersion(node.parent)
  	if err != nil {
  		return false, err
  	}
  	return uint32(expectedVersion)&conditionMask == 0, nil
  }
docs: // Condition returns true when the specific bit associated with the checker is
  // set and it's not supposed to be according to the expected version based on
  // the known deployments and the current state of the chain.
  //
  // This function MUST be called with the chain state lock held (for writes).
  //
  // This is part of the thresholdConditionChecker interface implementation.