sflex.add(sflex.DATA,"Failed object class: "+((Prim) elem).sfResolve(SmartFrogCoreKeys.SF_CLASS,"",false));
sflex.add(SmartFrogLifecycleException.DATA, "Failed object class: "+((Prim) elem).sfResolve(SmartFrogCoreKeys.SF_CLASS,"",false));
    public synchronized void sfStart() throws SmartFrogException, RemoteException {        super.sfStart();        try {            for (Enumeration e = sfChildren(); e.hasMoreElements();) {                Object elem = e.nextElement();                if (elem instanceof Prim) {                    try {                        ((Prim) elem).sfStart();                    } catch (Throwable thr){                        String name = "";                        try {name =((Prim)elem).sfCompleteName().toString();} catch (Exception ex) {};                        SmartFrogLifecycleException sflex = SmartFrogLifecycleException.sfStart(name ,thr,null);                        sflex.add(sflex.DATA,"Failed object class: "+((Prim) elem).sfResolve(SmartFrogCoreKeys.SF_CLASS,"",false));                        throw sflex;                    }                }            }         } catch (Throwable thr) {               // any exception causes termination               Reference name = sfCompleteNameSafe();               sfTerminate(TerminationRecord.abnormal("Compound sfStart failure: " + thr,                                  name));               throw SmartFrogLifecycleException.forward(thr);         }    }