private void PreAnalyzePropertyData(PropertyData propertyData, SemanticModel semanticModel)
        {
            var newType = propertyData.TypeData.IsNewType;

            if (!_configuration.PropertyConversion)
            {
                // Ignore getter and setter accessors and copy the property if needed
                propertyData.IgnoreAccessors(IgnoreReason.PropertyConversion);
            }
            if (newType)
            {
                propertyData.Copy();                  // TODO: copy only if needed
            }
            else if (propertyData.TypeData.GetSelfAndAncestorsTypeData().Any(o => o.Conversion == TypeConversion.Partial || o.Conversion == TypeConversion.Ignore))
            {
                propertyData.Conversion = PropertyConversion.Ignore;                 // For partial types we do not want to copy the property
            }
            if (!_configuration.PropertyConversion)
            {
                return;
            }
            var getter = propertyData.GetAccessorData;

            if (getter != null)
            {
                PreAnalyzeFunctionData(getter, semanticModel);
            }
            var setter = propertyData.SetAccessorData;

            if (setter != null)
            {
                PreAnalyzeFunctionData(setter, semanticModel);
            }
        }