} //	end GetConditionDefinition


		/// <summary>
		/// Adds a subcondition to a condition in the AeCategory.
		/// </summary>
		/// <param name="aConditionName">The existing condition.</param>
		/// <param name="aSubconditionName">New subcondition name.</param>
		/// <returns>
		/// S_OK - if succeeded
		/// E_FAIL - if failure
		/// </returns>
		/// <include
		///		file='TBNS.doc.xml'
		///			path='//class[@name="AeCategory"]/
		///			method[@name="AddSubConditionDefinition"]/doc/*'
		///	/>
		public virtual int AddSubConditionDefinition(
			string aConditionName,
			string aSubconditionName)
		{
			try
			{
				if (aConditionName.Length == 0 || aSubconditionName.Length == 0)
				{
					return (int) EnumResultCode.E_FAIL;
				} //	end if

				if (Handle == 0)
				{
					return (int) EnumResultCode.E_FAIL;
				} //	end if

				System.Diagnostics.Debug.Assert(Handle != 0, "Called for Null handle");

				Hashtable syncConditions = Hashtable.Synchronized(this.m_conditions);

				int result = (int) EnumResultCode.S_OK;

				AeConditionDefinition condition = syncConditions[aConditionName] as AeConditionDefinition;
				if (condition == null)
				{
					result = AddConditionDefinition(aConditionName);
					syncConditions = Hashtable.Synchronized(this.m_conditions);
					condition = syncConditions[aConditionName] as AeConditionDefinition;
				} //	end if

				if (ResultCode.SUCCEEDED(result))
				{
					//	at this time the condition should have been be registered
					result = OTBFunctions.OTSAddSubCondition(this.Handle, aConditionName, aSubconditionName);
					if (ResultCode.SUCCEEDED(result))
					{
						result = condition.AddSubConditonData(aSubconditionName);
					} //	end if
				} //	end if

				return result;
			}
			catch (Exception e)
			{
				Application.Instance.Trace(EnumTraceLevel.ERR,
				                           EnumTraceGroup.OPCSERVER,
				                           "Category.AddCondition",
				                           "Exception caught:" + e.ToString());
				return (int) EnumResultCode.E_FAIL;
			} //	end try ... catch
		} //	end AddSubConditionDefinition