/// <summary>
        /// Adiciona os identificadores das propriedades.
        /// </summary>
        /// <param name="entityTypeName">Tipo da entidade.</param>
        /// <param name="nestedTypes">Rleção dos tipos aninhados.</param>
        /// <param name="listToAppend">Lista onde será adicionada a relação do caminho com a especiação para o caminho da propriedade</param>
        /// <param name="startString">Texto com o inicio do caminho para alcançar a propriedade.</param>
        /// <param name="clearPath"></param>
        /// <param name="propertyPath">Caminho para alcançar a propriedade.</param>
        /// <param name="currentSpecilizeString">Texto que representa a especialização.</param>
        private void PutsPropertiesIdentifier(Colosoft.Reflection.TypeName entityTypeName, List <Colosoft.Reflection.TypeName> nestedTypes, Dictionary <string, string> listToAppend, string startString, string clearPath, string propertyPath, string currentSpecilizeString)
        {
            IEnumerable <IEntityPropertyInfo> properties = _validationManager.LoadTypeProperties(entityTypeName);

            if (properties != null)
            {
                foreach (IEntityPropertyInfo property in properties)
                {
                    string newPropertyPath = string.IsNullOrEmpty(propertyPath) ? property.FullName : string.Format("{0}.{1}", propertyPath, property.FullName);
                    if (!string.IsNullOrEmpty(currentSpecilizeString))
                    {
                        listToAppend.Add(string.Format("{0}{1}.{2}", startString, currentSpecilizeString, property.FullName), newPropertyPath);
                    }
                    else
                    {
                        listToAppend.Add((startString + property.FullName), newPropertyPath);
                    }
                    if (property.IsInstance && !nestedTypes.Contains(property.PropertyType, Colosoft.Reflection.TypeName.TypeNameFullNameComparer.Instance))
                    {
                        var aux = GetIdentifierSpecialize(property.PropertyType, string.Format("{0}{1}.{2}.", startString, currentSpecilizeString, property.FullName), string.Format("{0}{1}.", clearPath, property.FullName), newPropertyPath, nestedTypes);
                        foreach (var kp in aux)
                        {
                            listToAppend.Add(kp.Key, kp.Value);
                        }
                    }
                }
            }
        }