bool DoesAmbientPropertyApply(AmbientPropertyValue p, IEnumerable <XamlType> types, params XamlMember [] properties)
 {
     if (types == null || !types.Any() || types.Any(xt => xt.UnderlyingType != null && xt.UnderlyingType.GetTypeInfo().IsAssignableFrom(p.Value.GetType().GetTypeInfo())))
     {
         if (properties == null || !properties.Any() || properties.Contains(p.RetrievedProperty))
         {
             return(true);
         }
     }
     return(false);
 }
		bool DoesAmbientPropertyApply (AmbientPropertyValue p, IEnumerable<XamlType> types, params XamlMember [] properties)
		{
			if (types == null || !types.Any () || types.Any (xt => xt.UnderlyingType != null && xt.UnderlyingType.GetTypeInfo().IsAssignableFrom (p.Value.GetType().GetTypeInfo())))
				if (properties == null || !properties.Any () || properties.Contains (p.RetrievedProperty))
					return true;
			return false;
		}
		public void Push (AmbientPropertyValue v)
		{
			live_stack.Push (v);
			values.Add (v);
		}
 public void Push(AmbientPropertyValue v)
 {
     live_stack.Push(v);
     values.Add(v);
 }