private void ValidateTag(Iterator<ITag> iter,
			Class<? extends ITag>... classes) {
		if (isValid) {
			while ((iter.hasNext()) && this.isValid) {
				boolean pass = false;

				ITag child = iter.next();
				Class<? extends ITag> childClass = child.getClass();

				for (Class<? extends ITag> type : classes) {
					if (type.isAssignableFrom(childClass)) {
						pass = true;
					}
				}

				this.isValid = pass;
			}
		}
	}