sfCreateNewChild(name+"_actionRunning"+currentRetries,(ComponentDescription) action.copy(), null);
if (sfLog().isDebugEnabled()) { sfLog().debug("Retry: "+name+" "+currentRetries+" /"+retry); } sfCreateNewChild(name+"_retryActionRunning_"+currentRetries,(ComponentDescription) action.copy(), null);
    public void sfTerminatedWith(TerminationRecord status, Prim comp) {        if (sfContainsChild(comp)) {            try {                sfRemoveChild(comp);                if (!(status.errorType.equals("normal".intern()))) {                    if (currentRetries++ < retry) {                        sfCreateNewChild(name+"_actionRunning"+currentRetries,(ComponentDescription) action.copy(), null);                    } else {                        if (sfLog().isDebugEnabled()) {                           sfLog().debug(sfCompleteNameSafe().toString()  + "terminated incorrectly: too many reties - fail ");                        }                        sfTerminate(TerminationRecord.abnormal("too many retries...", name));                    }                } else {                    if (sfLog().isDebugEnabled()) {                        sfLog().debug(sfCompleteNameSafe().toString()  + "terminated correctly - no need to retry  ");                    }                    sfTerminate(TerminationRecord.normal(name));                }            } catch (Exception e) {                sfTerminate(TerminationRecord.abnormal( "error in restarting next component", name));            }        }    }