/// <summary>
		///    Check if the original keywords are found.
		/// </summary>
		public override void ValidatePreModification (Image.File file) {
			if (!tag_present) {
				Assert.IsNull (file.GetTag (type, false));
			} else {
				Assert.IsNotNull (file.GetTag (type, false));
				base.ValidatePreModification (file);
			}
		}
		public override Image.ImageTag GetTag (Image.File file) {
			return file.GetTag (type, false) as Image.ImageTag;
		}
		/// <summary>
		///    Creates the tag if needed.
		/// </summary>
		public override void ModifyMetadata (Image.File file) {
			if (!tag_present)
				file.GetTag (type, true);
			base.ModifyMetadata (file);
		}
		/// <summary>
		///    Validates if changes survived a write.
		/// </summary>
		public void ValidatePostModification (Image.File file) {
			Assert.IsNotNull (file.GetTag (TagTypes.XMP, false));
			Assert.AreEqual (test_keywords, GetTag (file).Keywords);
		}