/// <summary>
        /// Resolves the specified Edm Data Type from the payload model.
        /// </summary>
        /// <param name="fullTypeName">The full name of the type to resolve.</param>
        /// <returns>The EdmDataType that corresponds to the type name.</returns>
        private IEdmTypeReference ResolvePropertyEdmDataType(string fullTypeName)
        {
            if (string.IsNullOrEmpty(fullTypeName))
            {
                return(null);
            }

            bool propertyIsCollection = false;

            if (fullTypeName.StartsWith(EdmConstants.CollectionTypeQualifier))
            {
                fullTypeName         = EntityModelUtils.GetCollectionItemTypeName(fullTypeName);
                propertyIsCollection = true;
            }

            string namespaceName;
            string typeName;

            DataTypeUtils.ParseFullTypeName(fullTypeName, out typeName, out namespaceName);

            IEdmTypeReference edmDataType = null;

            var complexType = this.testDescriptor.PayloadEdmModel.FindType(fullTypeName);

            if (complexType != null)
            {
                edmDataType = complexType.ToTypeReference();
            }
            else
            {
                var primitiveType = EdmCoreModel.Instance.GetPrimitive(EdmCoreModel.Instance.GetPrimitiveTypeKind(typeName), true);
                ExceptionUtilities.CheckObjectNotNull(primitiveType, "Failed to resolve type: " + fullTypeName);
                edmDataType = primitiveType;
            }

            if (propertyIsCollection)
            {
                edmDataType = EdmCoreModel.GetCollection(edmDataType);
            }

            return(edmDataType);
        }