 			_dates = dates;
 			_keyToDate = new Dictionary();
 			_uniqueKeys.length = 0;
-			_reportedDuplicate = false;
+			_reportedError = false;
 			
 			WeaveAPI.StageUtils.startTask(this, _asyncIterate, WeaveAPI.TASK_PRIORITY_PARSING, _asyncComplete);
 		}

		private var _i:int;
		private var _keys:Vector.<IQualifiedKey>;
		private var _dates:Vector.<String>;
		private var _reportedDuplicate:Boolean;
		
		// variables that do not get reset after async task
		private static const compiler:Compiler = new Compiler();

						date = new Date(number);
				}
				else
				{
					try
					{
						date = StandardLib.parseDate(string, _dateFormat);
					}
					catch (e:Error)
					{
						if (!_reportedError)
						{
							_reportedError = true;
							var err:String = StringUtil.substitute(
								'Warning: Unable to parse this value as a date: "{0}"'
								+ ' (only the first error for this column is reported).'
								+ ' Attribute column: {1}',
								string,
								_metadata.toXMLString()
							);
							reportError(err);
						}
						continue;
					}
				}
				
				// keep track of unique keys
				if (_keyToDate[key] === undefined)
