//		private static ErrorManager CreateAndAssign(object[] values)
//		{
//			ErrorManager record = new ErrorManager();
//			record.mErrorMode = (ErrorMode) values[0];
//			record.temp = (string) values[1];
//			
//			return record;
//		}
		
		
		private bool MustIgnoreLine(string line)
		{
			if (mIgnoreEmptyLines)
				if ((mIgnoreEmptySpaces && line.TrimStart().Length == 0) || 
					line.Length == 0) 
					return true;
		
		
			if (mCommentMarker != null && mCommentMarker.Length > 0)
				if ( (mCommentAnyPlace && line.TrimStart().StartsWith(mCommentMarker)) ||
					line.StartsWith(mCommentMarker))
					return true;
			


			if (mRecordCondition != RecordCondition.None)
			{
				switch (mRecordCondition)
				{
					case RecordCondition.ExcludeIfBegins:
						return ConditionHelper.BeginsWith(line, mRecordConditionSelector);
					case RecordCondition.IncludeIfBegins:
						return ! ConditionHelper.BeginsWith(line, mRecordConditionSelector);

					case RecordCondition.ExcludeIfContains:
						return ConditionHelper.Contains(line, mRecordConditionSelector);
					case RecordCondition.IncludeIfContains:
						return ConditionHelper.Contains(line, mRecordConditionSelector);


					case RecordCondition.ExcludeIfEnclosed:
						return ConditionHelper.Enclosed(line, mRecordConditionSelector);
					case RecordCondition.IncludeIfEnclosed:
						return ! ConditionHelper.Enclosed(line, mRecordConditionSelector);
					
					case RecordCondition.ExcludeIfEnds:
						return ConditionHelper.EndsWith(line, mRecordConditionSelector);
					case RecordCondition.IncludeIfEnds:
						return ! ConditionHelper.EndsWith(line, mRecordConditionSelector);

				#if ! MINI
					case RecordCondition.ExcludeIfMatchRegex:
						return mConditionRegEx.IsMatch(line);
					case RecordCondition.IncludeIfMatchRegex:
						return ! mConditionRegEx.IsMatch(line);
				#endif

				}
			}
			
			return false;
		}