protected override void RemoveAccessPointsInternal(AppEntry appEntry, IEnumerable<AccessPoint> accessPoints)
{
#region Sanity checks
if (appEntry == null) throw new ArgumentNullException(nameof(appEntry));
if (accessPoints == null) throw new ArgumentNullException(nameof(accessPoints));
#endregion
if (appEntry.AccessPoints == null) return;
foreach (var accessPoint in accessPoints)
accessPoint.Unapply(appEntry, MachineWide);
// Remove the access points from the AppList
appEntry.AccessPoints.Entries.RemoveRange(accessPoints);
appEntry.Timestamp = DateTime.UtcNow;
}