private bool ParseParameter(BaseProperty baseProperty, LinkedList <Property> propertyList, Property property)
        {
            Property property2 = this.ObtainAttributes(baseProperty, property);

            if (string.IsNullOrEmpty(property2.Name))
            {
                property2.Name = "AlwaysAppend";
            }
            if (!this.switchesAdded.Contains(property2.Name))
            {
                this.switchOrderList.Add(property2.Name);
            }
            if (string.IsNullOrEmpty(property2.Prefix))
            {
                property2.Prefix = this.DefaultPrefix;
            }
            EnumProperty property3 = baseProperty as EnumProperty;

            if (property3 != null)
            {
                foreach (EnumValue value2 in property3.AdmissibleValues)
                {
                    Value value3 = new Value {
                        Name       = value2.Name,
                        SwitchName = value2.Switch
                    };
                    if (value3.SwitchName == null)
                    {
                        value3.SwitchName = string.Empty;
                    }
                    value3.DisplayName = value2.DisplayName;
                    value3.Description = value2.Description;
                    value3.Prefix      = value2.SwitchPrefix;
                    if (string.IsNullOrEmpty(value3.Prefix))
                    {
                        value3.Prefix = property3.SwitchPrefix;
                    }
                    if (string.IsNullOrEmpty(value3.Prefix))
                    {
                        value3.Prefix = this.DefaultPrefix;
                    }
                    if (value2.Arguments.Count > 0)
                    {
                        value3.Arguments = new ArrayList();
                        foreach (Microsoft.Build.Framework.XamlTypes.Argument argument in value2.Arguments)
                        {
                            Microsoft.Build.Tasks.Xaml.Argument argument2 = new Microsoft.Build.Tasks.Xaml.Argument {
                                Parameter = argument.Property,
                                Separator = argument.Separator,
                                Required  = argument.IsRequired
                            };
                            value3.Arguments.Add(argument2);
                        }
                    }
                    if (value3.Prefix == null)
                    {
                        value3.Prefix = property2.Prefix;
                    }
                    property2.Values.Add(value3);
                }
            }
            foreach (Microsoft.Build.Framework.XamlTypes.Argument argument3 in baseProperty.Arguments)
            {
                if (property2.Arguments == null)
                {
                    property2.Arguments = new ArrayList();
                }
                Microsoft.Build.Tasks.Xaml.Argument argument4 = new Microsoft.Build.Tasks.Xaml.Argument {
                    Parameter = argument3.Property,
                    Separator = argument3.Separator,
                    Required  = argument3.IsRequired
                };
                property2.Arguments.Add(argument4);
            }
            propertyList.AddLast(property2);
            return(true);
        }
 private bool ParseParameter(BaseProperty baseProperty, LinkedList<Property> propertyList, Property property)
 {
     Property property2 = this.ObtainAttributes(baseProperty, property);
     if (string.IsNullOrEmpty(property2.Name))
     {
         property2.Name = "AlwaysAppend";
     }
     if (!this.switchesAdded.Contains(property2.Name))
     {
         this.switchOrderList.Add(property2.Name);
     }
     if (string.IsNullOrEmpty(property2.Prefix))
     {
         property2.Prefix = this.DefaultPrefix;
     }
     EnumProperty property3 = baseProperty as EnumProperty;
     if (property3 != null)
     {
         foreach (EnumValue value2 in property3.AdmissibleValues)
         {
             Value value3 = new Value {
                 Name = value2.Name,
                 SwitchName = value2.Switch
             };
             if (value3.SwitchName == null)
             {
                 value3.SwitchName = string.Empty;
             }
             value3.DisplayName = value2.DisplayName;
             value3.Description = value2.Description;
             value3.Prefix = value2.SwitchPrefix;
             if (string.IsNullOrEmpty(value3.Prefix))
             {
                 value3.Prefix = property3.SwitchPrefix;
             }
             if (string.IsNullOrEmpty(value3.Prefix))
             {
                 value3.Prefix = this.DefaultPrefix;
             }
             if (value2.Arguments.Count > 0)
             {
                 value3.Arguments = new ArrayList();
                 foreach (Microsoft.Build.Framework.XamlTypes.Argument argument in value2.Arguments)
                 {
                     Microsoft.Build.Tasks.Xaml.Argument argument2 = new Microsoft.Build.Tasks.Xaml.Argument {
                         Parameter = argument.Property,
                         Separator = argument.Separator,
                         Required = argument.IsRequired
                     };
                     value3.Arguments.Add(argument2);
                 }
             }
             if (value3.Prefix == null)
             {
                 value3.Prefix = property2.Prefix;
             }
             property2.Values.Add(value3);
         }
     }
     foreach (Microsoft.Build.Framework.XamlTypes.Argument argument3 in baseProperty.Arguments)
     {
         if (property2.Arguments == null)
         {
             property2.Arguments = new ArrayList();
         }
         Microsoft.Build.Tasks.Xaml.Argument argument4 = new Microsoft.Build.Tasks.Xaml.Argument {
             Parameter = argument3.Property,
             Separator = argument3.Separator,
             Required = argument3.IsRequired
         };
         property2.Arguments.Add(argument4);
     }
     propertyList.AddLast(property2);
     return true;
 }