public bool RemoveSpawnObjects(EclSpawnEntry entry, bool invalidate, bool defrag)
        {
            if (defrag)
                Defrag();

            bool removed = false;

            for (int i = entry.SpawnObjects.Count - 1; i >= 0; --i)
            {
                object o = entry.SpawnObjects[i];

                if (o is Item)
                {
                    ((Item)o).Delete();
                    removed = true;
                }
                else if (o is Mobile)
                {
                    ((Mobile)o).Delete();
                    removed = true;
                }
            }

            if (removed && invalidate)
                InvalidateProperties();

            return removed;
        }
 /// <summary>
 /// Checks if spawn is possible at the given entry.
 /// </summary>
 /// <param name="entry"></param>
 /// <returns></returns>
 public virtual bool CanSpawnAtEntry(EclSpawnEntry entry)
 {
     if (entry.SpawnObjects.Count >= entry.Amount)
         return false;
     return true;
 }