}
protected static void recursiveLoadFormData(String appId, String appVersion, Element e, Map<String, Object> data, FormData formData, boolean includeSubformData, boolean includeReferenceElements, boolean flatten, WorkflowAssignment assignment, int currentDepth) {
boolean recursive = currentDepth == 0 || includeSubformData;
Map<String, Object> result = data;
FormLoadBinder loadBinder = e.getLoadBinder();
FormLoadBinder optionsBinder = e.getOptionsBinder();
if (loadBinder != null) {
if (recursive) {
// load form data
FormRowSet rowSet = formData.getLoadBinderData(e);
if (rowSet != null && !rowSet.isEmpty()) {