 						var fieldChain:Array = fields[c];
 						var cell:Object = record;
 						for each (var field:String in fieldChain)
-							cell = cell[field];
+							if (cell)
+								cell = cell[field];
 						row[c] = cell;
 					}
 				}

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

		 */
		public function convertRowsToRecords(rows:Array, headerDepth:int = 1):Array
		{
			if (rows.length < headerDepth)
				throw new Error("headerDepth is greater than the number of rows");
			assertHeaderDepth(headerDepth);
			
			var records:Array = new Array(rows.length - headerDepth);
