/// <summary>
		/// Add a file.
		/// </summary>
		/// <param name="filePath">The file path.</param>
		public void AddFile(
			string filePath )
		{
			CompressHeterogenousInfo info = 
				new CompressHeterogenousInfo();

			info.Type = CompressHeterogenousInfo.InfoType.File;
			info.FilePath = filePath;

			items.Add( info );
		}
		/// <summary>
		/// Add multiple files.
		/// </summary>
		/// <param name="filePaths">The file paths.</param>
		public void AddFiles(
			string[] filePaths )
		{
			if ( filePaths != null && filePaths.Length > 0 )
			{
				foreach ( string filePath in filePaths )
				{
					CompressHeterogenousInfo info = 
						new CompressHeterogenousInfo();

					info.Type = CompressHeterogenousInfo.InfoType.File;
					info.FilePath = filePath;

					items.Add( info );
				}
			}
		}
			/// <summary>
			/// Add a byte[] with a provided filename.
			/// </summary>
			/// <param name="content"></param>
			/// <param name="fileName"></param>
			public void AddBytes(
				byte[] content,
				string fileName )
			{
				if ( fileName == null )
				{
					fileName = string.Empty;
				}

				CompressHeterogenousInfo info = new CompressHeterogenousInfo();

				info.Type = CompressHeterogenousInfo.InfoType.Bytes;
				info.Bytes = content;
				info.FilePath = fileName;

				items.Add( info );
			}
			/// <summary>
			/// Add a string with a provided filename.
			/// </summary>
			/// <param name="content"></param>
			/// <param name="fileName"></param>
			public void AddString(
				string content,
				string fileName )
			{
				if ( fileName == null )
				{
					fileName = string.Empty;
				}

				CompressHeterogenousInfo info = new CompressHeterogenousInfo();

				info.Type = CompressHeterogenousInfo.InfoType.String;
				info.Content = content;
				info.FilePath = fileName;

				items.Add( info );
			}
			/// <summary>
			/// Add a definition.
			/// </summary>
			/// <param name="info"></param>
			public void Add(
				CompressHeterogenousInfo info )
			{
				items.Add( info );
			}