docs: private static void getTreeFormat(StringBuffer sb, Event event, Boolean includeContextInfo,
  			int noOfTabs, long currentNanoTime, int spacesRequiredForDuration) {
  		//Defect 166820
  		//Check for events that got added after we started dumping the tree.
  		//We ignore these events.
  		if(currentNanoTime < event.getStartTime()){
  			return;
  		}
  		
  		String executionTimeStr = getExecutionTimeStringFormat(currentNanoTime,
  				event); // Convert the execution time into string with 3 decimal
  						// places..
  		try {
  			/**
  			 * If its root event add header to table and set the
  			 * spacesRequiredForDuration field
  			 */
  			if (event.getParentEvent() == null) {
  				if (spacesRequiredForDuration == 0)
  					spacesRequiredForDuration = executionTimeStr.length() + 5;
  				sb.append(appendHeader(event, executionTimeStr));
  			}
  			// Append the execution time
  			if (event.getEndTime() == 0) {
  				sb.append(String.format(
  						"%n%" + spacesRequiredForDuration + "s",
  						executionTimeStr + "ms + "));
  			} else {
  				sb.append(String.format(
  						"%n%" + spacesRequiredForDuration + "s",
  						executionTimeStr + "ms   "));
  			}
  
  			// Append tabs for Child Events
  			if (event.getParentEvent() != null) {
  				for (int i = 0; i < noOfTabs; i++) {
  					sb.append("    ");
  				}
  			}
  
  			// Append Type + Context information to string...
  			if (includeContextInfo && event.getContextInfo() != null) {
  				sb.append(event.getType()
  						+ RequestProbeConstants.EVENT_CONTEXT_INFO_SEPARATOR
  						+ event.getContextInfo());
  			} else {
  				sb.append(event.getType());
  			}
  
  			//Iterating using indices instead of the list iterator to avoid ConcurrentModificationException
  			//It is safe to do it this way as we only add elements to the list
  			List<Event> list = event.getChildEvents();
  			for(int i = 0; i < list.size(); i++){
  				//Defect 165134
  				//for (Event eventChild : event.getChildEvents()) {
  				// Call recursively for child events ..
  				getTreeFormat(sb, list.get(i), includeContextInfo, noOfTabs + 1, currentNanoTime,
  						spacesRequiredForDuration);
  			}
  		} catch (Exception e) {
  
  			FFDCFilter.processException(e, EventStackFormatter.class.getName(),
  					"94", event);
  		}
  	}