AssetState will_as = affectedBy_asd.findAssetState(willState);
AssetState will_as = dtsi.getStateDimension().findAssetState(willState);
    private void parseWhenActualStateIsElements(Element element, DiagnosisProbability probs, String whenActualStateIs, DiagnosisTechSpecInterface dtsi, AssetStateDimension affectedBy_asd ) {                for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {            if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equalsIgnoreCase("WillDiagnoseAs") ) {                Element e = (Element) child;                String willState = e.getAttribute("name");                String p = e.getAttribute("withProbability");                                AssetState will_as = affectedBy_asd.findAssetState(willState);                if (will_as == null) {                    logger.error("CrossDiagnosis XML Error - diagnosis asset state not found! unknown WillDiagnoseAs: "+willState+ " for asset type = " + dtsi.getAssetType());                    return;                }                                Set s= dtsi.getPossibleValues();                if ( s == null || !s.contains(willState) ) {                    logger.error("CrossDiagnosis XML Error - diagnosis state not found! unknown WillDiagnoseAs: "+willState+ " for sensor = " + dtsi.getName());                    return;                }                                                try {                    float prob = Float.parseFloat(p);                    probs.addProbability(willState, prob);                } catch (Exception ex) {                    logger.warn("CrossDiagnosis XML Error for ["+whenActualStateIs+"]- Bad float in probability for ["+willState+"]: " + p);                    continue; // ignore this one & move on.                }            } //else, likely a text element - ignore        }    }