private IResult executeActivity(ActivityElement activityNode) { String currentId = activityNode.getAttribute(AttributeConstants.ID).getValue().ToString(); IActivity toExecute = this._stateProvider.getActivities()[currentId]; log.DebugFormat("executing activity [{0}]", toExecute.getId()); IResult currentResult = toExecute.run(); if (currentResult.getStatus().Equals(ResultStatus.SUCCESS)) { Int32 resultCount = 0; if (currentResult.getData() != null) { resultCount = currentResult.getData().Count; } log.DebugFormat("Execute Activity success >> {0}, Result Data count: {1}", currentId, resultCount); } else { log.DebugFormat("Execute Activity[{0}] error >> {1}", currentId, currentResult.getException().Message); } return(currentResult); }