private SCObjectAndRelation GetObjectByID(BuiltInFunctionIDType idType, string objectID, SCConditionCalculatingContext callerContext)
        {
            SCCalculatorObjectCache cache = null;

            if (callerContext.ExtendedData.ContainsKey("SCCalculatorObjectCache"))
            {
                cache = (SCCalculatorObjectCache)callerContext.ExtendedData["SCCalculatorObjectCache"];
            }

            if (cache == null)
            {
                cache = new SCCalculatorObjectCache();
                callerContext.ExtendedData.Add("SCCalculatorObjectCache", cache);
            }

            SCObjectAndRelation result = null;

            if (cache.TryGetValue(idType, objectID, out result) == false)
            {
                result = QueryObjectByID(idType, objectID);

                cache.AddObject(idType, objectID, result);
            }

            return(result);
        }
		private SCObjectAndRelation GetObjectByID(BuiltInFunctionIDType idType, string objectID, SCConditionCalculatingContext callerContext)
		{
			SCCalculatorObjectCache cache = null;

			if (callerContext.ExtendedData.ContainsKey("SCCalculatorObjectCache"))
				cache = (SCCalculatorObjectCache)callerContext.ExtendedData["SCCalculatorObjectCache"];

			if (cache == null)
			{
				cache = new SCCalculatorObjectCache();
				callerContext.ExtendedData.Add("SCCalculatorObjectCache", cache);
			}

			SCObjectAndRelation result = null;

			if (cache.TryGetValue(idType, objectID, out result) == false)
			{
				result = QueryObjectByID(idType, objectID);

				cache.AddObject(idType, objectID, result);
			}

			return result;
		}