public bool ConditionMet(Term managedItemSourceTerm)
		{
			string termValue = managedItemSourceTerm.Runtime.SetValue;
			if (string.IsNullOrEmpty(termValue) || (termValue == Term._SET_VALUE_DEFAULT))
				termValue = managedItemSourceTerm.DisplayValue("");	

			TextTerm tt = managedItemSourceTerm as TextTerm;
			if (tt != null)
				return ConditionMet(tt);
			else
			{
				switch (_oper)
				{
					case XMLNames._TermDependencyOperator_Equals:
						return termValue.CompareTo(_value1) == 0;
					case XMLNames._TermDependencyOperator_NotEqual:
						return termValue.CompareTo(_value1) != 0;
					case XMLNames._TermDependencyOperator_GreaterThan:
						return termValue.CompareTo(_value1) > 0;
					case XMLNames._TermDependencyOperator_LessThan:
						return termValue.CompareTo(_value1) < 0;
					case XMLNames._TermDependencyOperator_NoLessThan:
						return termValue.CompareTo(_value1) >= 0;
					case XMLNames._TermDependencyOperator_NoMoreThan:
						return termValue.CompareTo(_value1) <= 0;
					case XMLNames._TermDependencyOperator_Contains:
						return termValue.Contains(_value1);
					case XMLNames._TermDependencyOperator_StartsWith:
						return termValue.StartsWith(_value1);
					case XMLNames._TermDependencyOperator_EndsWith:
						return termValue.EndsWith(_value1);
					case XMLNames._TermDependencyOperator_Between:
						return ((termValue.CompareTo(_value1) >= 0) && (termValue.CompareTo(_value2) <= 0));
					default:
						return false;
				}
			}
		}