public static string add_Properties(this O2MappedAstData astData, string targetFolder)
        {
            //return methodMappingsIndexedBySignature;
            //handle Properties
            var propertyMappings = new Dictionary <string, List <KeyValuePair <INode, IMethodOrProperty> > >();
//			show.info(methodMappingsIndexedBySignature);

            var fileName = "_MethodMapings_For_Properties";
            //var md5Hash = fullName.safeFileName().md5Hash();
            var savedPropertiesMappingsFile = targetFolder.pathCombine(fileName) + ".xml";

            if (savedPropertiesMappingsFile.fileExists())
            {
                return(savedPropertiesMappingsFile);
            }

            var propertyRefs = new List <INode>();

            foreach (var propertyDeclaration in astData.MapAstToNRefactory.IPropertyToPropertyDeclaration.Values)
            {
                "Mapping property: {0}".info(propertyDeclaration.Name);

                propertyRefs.add(propertyDeclaration.iNodes <INode, MemberReferenceExpression>());
                propertyRefs.add(propertyDeclaration.iNodes <INode, InvocationExpression>());
                propertyRefs.add(propertyDeclaration.iNodes <INode, ObjectCreateExpression>());
            }
//			show.info(propertyRefs);
            try
            {
                foreach (Expression propertyRef in propertyRefs)
                {
                    var methodOrProperty = astData.fromExpressionGetIMethodOrProperty(propertyRef);
                    var nodeText         = astData.getTextForINode(propertyRef);             // propertyRef.str();
                    propertyMappings.add(nodeText, new KeyValuePair <INode, IMethodOrProperty>(propertyRef, methodOrProperty));
                }
            }
            catch (Exception ex)
            {
                ex.log("in add_Property");
            }
            var tempFile = astData.saveMappings(propertyMappings);

            if (tempFile.fileExists())
            {
                Files.MoveFile(tempFile, savedPropertiesMappingsFile);
            }
            return(savedPropertiesMappingsFile);
            /// PROPERTIES
        }