internal Conflict(Range[] ranges) {
				this.ranges = ranges;
			}
			public Enumer(Range list) { this.list = list; }
		private static void WriteStringBlock(TextWriter writer, char prefix, Range items) {
			foreach (object item in items) {
				writer.Write(prefix);
				writer.WriteLine(item.ToString());
			}
		}
		private static void WriteCharBlock(TextWriter writer, char prefix, Range items) {
			bool newline = true;
			int counter = 0;
			foreach (char c in items) {
				if (c == '\n' && !newline) {
					writer.WriteLine();
					newline = true;
				}
				
				if (newline) {
					writer.Write(prefix);
					newline = false;
					counter = 0;
				}
				
				if (c == '\n') {
					writer.WriteLine("[newline]");
					newline = true;
				} else {
					writer.Write(c);
					counter++;
					if (counter == 60) {
						writer.WriteLine();
						newline = true;
					}
				}
			}
			if (!newline) writer.WriteLine();
		}
		private static void WriteBlock(TextWriter writer, char prefix, Range items) {
			if (items.Count > 0 && items[0] is char)
				WriteCharBlock(writer, prefix, items);
			else
				WriteStringBlock(writer, prefix, items);
		}