if ((dex.get(dex.OBJECT_NAME))!=null) {
if ((dex.get(SmartFrogDeploymentException.OBJECT_NAME))!=null) {
    public Prim sfDeployComponentDescription(Object name, Prim parent,            ComponentDescription cmp, Context parms) throws SmartFrogDeploymentException {        // check for attribute already named like given name        try {            Object res = ((parent == null) || (name == null)) ? null: sfResolveId(name);            if ((res != null) && !(res instanceof ComponentDescription)) {                throw new SmartFrogDeploymentException(null, parent.sfCompleteName() ,                            name, cmp, parms,MessageUtil.                                formatMessage(MSG_NON_REP_ATTRIB, name), null,null);            }            // try to deploy            Prim result = SFDeployer.deploy(cmp, null, parent, parms);            if (parent != null){                if (name != null) {                  parent.sfReplaceAttribute(name, result);                } else {                    //@TODO - Review after refactoring ProcessCompound                    //This should throw an excetion when a                    //component is registered without a name                    //in a processcompound, but compound should not know anything                    //about processcompound                }            }            return result;        } catch (SmartFrogDeploymentException dex) {            // It will build source recursively            Reference newRef =new Reference();            if (name==null) {                if (cmp.getContext().containsKey(SmartFrogCoreKeys.SF_PROCESS_COMPONENT_NAME))                    name =cmp.getContext().get(SmartFrogCoreKeys.SF_PROCESS_COMPONENT_NAME);                try {                    newRef = parent.sfCompleteName();                } catch (Exception ex){                    // LOG ex                }            }            if ((dex.get(dex.OBJECT_NAME))!=null) {                newRef.addElement (ReferencePart.here(name));            } else {                dex.add(dex.OBJECT_NAME, name);            }            if (dex.get(dex.SOURCE)!=null) {                newRef.addElements((Reference)dex.get(dex.SOURCE));            }            if (newRef.size()!=0) {                dex.put(dex.SOURCE, newRef);            }            throw dex;        } catch (Throwable thr) {            throw (SmartFrogDeploymentException)SmartFrogDeploymentException.forward(thr);        }    }