public void addCoverage(BranchData branchData) {
        if (!NO_CONDITIONS_ARE_COVERED.equals(source) && !NO_CONDITIONS_ARE_COVERED.equals(branchData.source))
            if (position != branchData.position || nodeLength != branchData.nodeLength)
                throw new IllegalStateException("Merging non-matching branch data");
        this.evalFalse += branchData.evalFalse;
        this.evalTrue += branchData.evalTrue;
    }