KnowledgeBase.KB.ExtractPropertyFromToM C# (CSharp) Method

ExtractPropertyFromToM() private method

private ExtractPropertyFromToM ( Name property, List ToMList, string argumentName ) : Name
property Name
ToMList List
argumentName string
return Name
        private Name ExtractPropertyFromToM(Name property, List<Name> ToMList, string argumentName)
        {
            if (property.GetFirstTerm() != TOM_NAME)
                return property;

            if (property.NumberOfTerms != 3)
                throw new ArgumentException("The property name contains a invalid Theory of the Mind");

            var pers = property.GetNTerm(1);
            var prop = property.GetNTerm(2);

            AssetToMList(ToMList,pers,argumentName);
            return ExtractPropertyFromToM(prop, ToMList, argumentName);
        }