/// <summary>
        /// Finds filtered child requirements
        /// </summary>
        /// <param name="req">Parent requirement</param>
        /// <param name="reqType">Filter type of requirement</param>
        /// <returns>List of requirements</returns>
        public TDAPIOLELib.List GetChildRequirements(TDAPIOLELib.Req req, TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES reqType)
        {
            TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory;
            TDAPIOLELib.TDFilter   tDFilter   = reqFactory.Filter;

            tDFilter["RQ_TYPE_ID"] = reqType.ToString();

            return(reqFactory.GetFilteredChildrenList(req.ID, tDFilter));
        }
        /// <summary>
        /// Creates a new requirement
        /// </summary>
        /// <param name="requirementDetails">dictionary object with requirement database field names and values</param>
        /// <param name="folderPath"></param>
        /// <param name="reqType"></param>
        /// <returns></returns>
        public TDAPIOLELib.Req Create(Dictionary <String, String> requirementDetails, String folderPath, TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES reqType = TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES.REQ_TYPE_UNDEFINED)
        {
            TDAPIOLELib.Req        req        = GetReqByPath(folderPath);
            TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory;

            TDAPIOLELib.Req newReq = reqFactory.AddItem(System.DBNull.Value);

            newReq.ParentId      = req.ID;
            newReq["RQ_TYPE_ID"] = reqType;

            foreach (KeyValuePair <String, String> kvp in requirementDetails)
            {
                newReq[kvp.Key] = kvp.Value;
            }

            newReq.Post();

            return(newReq);
        }