private bool CheckShouldRemove( ValueAccess access, object instance, ValueChangeRequest buffer) { if (buffer.RequestProcessed && Equals(buffer.RequestedValue, buffer.LatestActualValue)) { return(true); } object currentValue = access.Get(instance); if (Equals(currentValue, buffer.LatestActualValue)) { return(false); } if (buffer.RequestProcessed) { return(true); } buffer.LatestActualValue = currentValue; return(false); }