code: function createFESRopt(oInteraction, oFESRHandle) {
  		return [
  			format(oFESRHandle.appNameShort, 20, true), // application_name
  			format(oFESRHandle.stepName, 20, true), // step_name
  			"", // not assigned
  			format(CLIENT_MODEL, 20), // client_model
  			format(oInteraction.bytesSent, 16), // client_data_sent
  			format(oInteraction.bytesReceived, 16), // client_data_received
  			"", // network_protocol
  			"", // network_provider
  			format(oInteraction.processing, 16), // client_processing_time
  			oInteraction.requestCompression ? "X" : "", // compressed - empty if not compressed
  			"", // not assigned
  			"", // persistency_accesses
  			"", // persistency_time
  			"", // persistency_data_transferred
  			format(oInteraction.busyDuration, 16), // extension_1 - busy duration
  			"", // extension_2
  			format(CLIENT_DEVICE, 1), // extension_3 - client device
  			"", // extension_4
  			format(formatInteractionStartTimestamp(oInteraction.start), 20), // extension_5 - interaction start time
  			format(oFESRHandle.appNameLong, 70, true) // application_name with 70 characters, trimmed from left
  		].join(",");
  	}
docs: creates optional FESR header string