logger.debug("Added new Threat: \n"+threat.toString() );
logger.debug("Added new Threat (default) with no filter: \n"+threat.toString() );
    protected Vector processElement(Element element) {                //publish to BB during execute().        //1. Create a new AssetType instance &        String threatName = element.getAttribute("name");        String assetType = element.getAttribute("affectsAssetType");        String causesEvent = element.getAttribute("causesEvent");        String defaultProbStr = element.getAttribute("defaultEventLikelihoodProb"); //string                //Convert probability String to a float.        float fProb = 0;        if (probabilityMap != null) {            Float f = (Float) probabilityMap.get(defaultProbStr);            if (f != null) {                fProb = f.floatValue();            }        }                    AssetType affectsAssetType = AssetType.findAssetType(assetType);        //what to do when assetType is null? - create it, process it later?        if (affectsAssetType == null) {            logger.warn("Threat XML Error - affectsAssetType unknown: "+assetType);            return null;        }        if (us == null) {            logger.warn("Threat XML Error - UIDService is null!");            return null;        }                UID uid = us.nextUID();        //Create default threat        ThreatDescription threat = new ThreatDescription( threatName, affectsAssetType, causesEvent, fProb );        threats.add(threat);        Element e;        for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {            if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equalsIgnoreCase("VulnerableAssets") ) {                e = (Element)child;                parseVulnerableAssets(e, threat);            } //else, likely a text element - ignore        }        logger.debug("Added new Threat: \n"+threat.toString() );                    return threats;    }