protected internal static bool IsPresent(object value, object initialSetValue,
ValueGetter propertyOnInitialSet, bool isMultiple)
{
if (!isMultiple)
{
object valueToCompare = initialSetValue;
if (propertyOnInitialSet != null)
{
// propertyOnInitialSet.GetValue(initialSetValue, null);
valueToCompare = propertyOnInitialSet.GetValue(initialSetValue);
}
return AreEqual(value, valueToCompare);
}
else
{
foreach(object item in (IEnumerable) initialSetValue)
{
object valueToCompare = item;
if (propertyOnInitialSet != null)
{
// valueToCompare = propertyOnInitialSet.GetValue(item, null);
valueToCompare = propertyOnInitialSet.GetValue(item);
}
if (AreEqual(value, valueToCompare))
{
return true;
}
}
}
return false;
}