logger.debug("========================================== 11 ==> processNodeTransitiveEffects - no assets to process");
if (logger.isDebugEnabled()) logger.debug("========================================== 11 ==> processNodeTransitiveEffects - no assets to process");
    private void processNodeTransitiveEffects(Vector agents) {             if (agents.size() == 0) {             logger.debug("========================================== 11 ==> processNodeTransitiveEffects - no assets to process");            return;         }        ThreatDescription metaModel;                TransitiveEffectDescription  transEffect = null;        Iterator i = threatDescriptions.iterator();        while (i.hasNext()) {                        metaModel = (ThreatDescription)i.next();            transEffect = metaModel.getEventThreatCauses().getTransitiveEffect();            if (transEffect == null ) { continue; } // no transitive effect to process                        DefaultThreatModel dtm = metaModel.getInstantiation();            //Look only for HOST threats            if (dtm == null || !(dtm.getAssetType().equals(AssetType.NODE)) ) { continue; } // only process node threats                                    if (! (transEffect.getTransitiveAssetType().equals(AssetType.AGENT))) { //then this is an error                logger.warn("Found a transEffect on a node threat (on threat["+dtm.getName()+"])that was not on an AGENT container! IGNORING IT. It was on asset type = " + transEffect.getTransitiveAssetType());                continue;            }                            TransitiveEffectModel tem= null;                                    //Now, search the agent assets, if a transEffect exists. Add an agent if its node is a member of the current threat            if (transEffect != null) { //get its instantiation                tem = transEffect.getInstantiation();                if (tem == null) {                    logger.debug("========================================== 7 ==> Creating a child agent transitive effect model!");                    tem = transEffect.instantiate(us.nextUID());                    this.blackboard.publishAdd(tem);                }                                Iterator it = agents.iterator();                while (it.hasNext()) {                                    AssetTechSpecInterface agent = (AssetTechSpecInterface)it.next();                    if (dtm.containsAsset(agent.getNode()) ) { // then this agent should be added to the transitive effect                        logger.debug("========================================== 10 ==> Adding agent["+agent.getName()+"] to transitive effect model!");                        tem.addAsset(agent);                    } else {                        logger.debug("========================================== 10.5 ==> Agent not added to transitive effect model! Node Threat="+dtm.getName()+" did not contain this agent's node="+agent.getNode().getName());                    }                }               }        }          }