 				if (includeNullFields || record[field] != null)
 				{
 					if (depth == 1)
+					{
 						output[field] = false;
+					}
 					else
-						_outputNestedFieldNames(record[field], includeNullFields, output[field] = {}, depth - 1);
+					{
+						if (!output[field])
+							output[field] = {};
+						_outputNestedFieldNames(record[field], includeNullFields, output[field], depth - 1);
+					}
 				}
 			}
 		}

		 */
		public function convertRowsToRecords(rows:Array, headerDepth:int = 1):Array
		{
			assertHeaderDepth(headerDepth);
			
			var records:Array = new Array(rows.length - headerDepth);

					{
						var colName:String = rows[h][c];
						if (h < headerDepth - 1)
						{
							if (!output[colName])
								output[colName] = {};
							output = output[colName];
						}
						else
							output[colName] = cell;
					}
