Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureSelection.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureSelection.java	(revision 44112)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureSelection.java	(revision 44113)
@@ -34,14 +34,17 @@
 import org.gvsig.fmap.dal.exception.DataRuntimeException;
 import org.gvsig.fmap.dal.feature.EditableFeature;
 import org.gvsig.fmap.dal.feature.Feature;
+import org.gvsig.fmap.dal.feature.FeatureQuery;
 import org.gvsig.fmap.dal.feature.FeatureReference;
 import org.gvsig.fmap.dal.feature.FeatureSelection;
 import org.gvsig.fmap.dal.feature.FeatureSet;
 import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.dal.feature.FeatureStoreNotification;
 import org.gvsig.fmap.dal.feature.FeatureType;
 import org.gvsig.fmap.dal.feature.exception.ReversedSelectionIteratorException;
 import org.gvsig.fmap.dal.feature.impl.DefaultFeatureReferenceSelection.SelectionData;
 import org.gvsig.fmap.dal.feature.impl.featureset.AbstractFeatureSet;
+import org.gvsig.fmap.dal.feature.impl.featureset.DefaultFeatureSet;
 import org.gvsig.fmap.dal.feature.impl.undo.FeatureCommandsStack;
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.dispose.DisposableIterator;
@@ -191,12 +194,11 @@
 
             // Load a Set with all the store features
             try {
-                featureSet = featureStore.getFeatureSet();
-                //if (fastIterator) {
+                featureSet = new IgnoreInsertAndUpdateFeatureSet(
+                        (DefaultFeatureStore) featureStore, 
+                        new DefaultFeatureQuery(featureStore.getDefaultFeatureType())
+                );
                 iterator = featureSet.fastIterator();
-//				} else {
-//					iterator = featureSet.iterator();
-//				}
             } catch (DataException ex) {
                 throw new ReversedSelectionIteratorException(ex);
             }
@@ -764,4 +766,22 @@
         }
     }
 
+    private static class IgnoreInsertAndUpdateFeatureSet extends DefaultFeatureSet {
+
+        public IgnoreInsertAndUpdateFeatureSet(DefaultFeatureStore store, FeatureQuery query) throws DataException {
+            super(store, query);
+        }
+
+        public void update(Observable obsevable, Object notification) {
+            String type = ((FeatureStoreNotification) notification).getType();
+            if (type.equalsIgnoreCase(FeatureStoreNotification.AFTER_INSERT)
+                    || type.equalsIgnoreCase(FeatureStoreNotification.AFTER_UPDATE)) {
+                return;
+            }
+            super.update(obsevable, notification);
+        }
+
+    }
+
+
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/featureset/DefaultFeatureSet.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/featureset/DefaultFeatureSet.java	(revision 44112)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/featureset/DefaultFeatureSet.java	(revision 44113)
@@ -23,14 +23,12 @@
  */
 package org.gvsig.fmap.dal.feature.impl.featureset;
 
-import org.gvsig.fmap.dal.feature.impl.dynobjectutils.DynObjectSetFeatureSetFacade;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.exception.DataException;
 import org.gvsig.fmap.dal.feature.EditableFeature;
 import org.gvsig.fmap.dal.feature.Feature;
@@ -48,42 +46,39 @@
 import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStoreTransforms;
 import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider;
 import org.gvsig.tools.dispose.DisposableIterator;
-import org.gvsig.tools.dynobject.DynObjectSet;
+import org.gvsig.tools.dispose.DisposeUtils;
 import org.gvsig.tools.evaluator.Evaluator;
-import org.gvsig.tools.exception.BaseException;
 import org.gvsig.tools.observer.Observable;
 import org.gvsig.tools.observer.Observer;
-import org.gvsig.tools.visitor.VisitCanceledException;
-import org.gvsig.tools.visitor.Visitor;
 
 public class DefaultFeatureSet extends AbstractFeatureSet implements
     FeatureSet, Observer {
 
-    private static final int NO_CHECKED = -1;
-    private static final int DEFAULT = 0;
-    private static final int FILTERED = 1;
-    private static final int ORDERED = 2;
-    private static final int ORDERED_FILTERED = 3;
-    private static final int EDITED = 4;
-    private static final int EDITED_FILTERED = 5;
-    private static final int ORDERD_EDITED = 6;
-    private static final int ORDERED_EDITED_FILTER = 7;
+    protected static final int NO_CHECKED = -1;
+    protected static final int DEFAULT = 0;
+    protected static final int FILTERED = 1;
+    protected static final int ORDERED = 2;
+    protected static final int ORDERED_FILTERED = 3;
+    protected static final int EDITED = 4;
+    protected static final int EDITED_FILTERED = 5;
+    protected static final int ORDERD_EDITED = 6;
+    protected static final int ORDERED_EDITED_FILTER = 7;
 
-    private boolean sourceStoreModified;
-    private boolean ownFeaturesModified;
-    DefaultFeatureStore store;
-    private List featureTypes;
-    FeatureQuery query;
-    FeatureSetProvider provider;
-    private long size;
-    private int iteratorMode;
-    List orderedData;
-    private Feature featureToIgnoreNotification;
-    DefaultFeatureStoreTransforms transform;
-    private FeatureQuery queryForProvider;
-    private FeatureType defatulFeatureType;
-    private FeatureType defatulFeatureTypeForProvider;
-    private boolean ignoreChanges;
+    protected boolean sourceStoreModified;
+    protected boolean ownFeaturesModified;
+    protected DefaultFeatureStore store;
+    protected List featureTypes;
+    protected FeatureQuery query;
+    protected FeatureSetProvider provider;
+    protected long size;
+    protected int iteratorMode;
+    protected List orderedData;
+    protected Feature featureToIgnoreNotification;
+    protected DefaultFeatureStoreTransforms transform;
+    protected FeatureQuery queryForProvider;
+    protected FeatureType defatulFeatureType;
+    protected FeatureType defatulFeatureTypeForProvider;
+    protected boolean ignoreChanges;
 
     public DefaultFeatureSet(DefaultFeatureStore store, FeatureQuery query)
         throws DataException {
@@ -158,7 +153,7 @@
         // Filter
         Evaluator filter = theQueryForProvider.getFilter();
         if (filter != null) {
-            boolean canUseFilter = true;
+            boolean canUseFilter;
             if (filter.getFieldsInfo() == null) {
                 canUseFilter = false;
             } else {
@@ -208,11 +203,10 @@
         if (fieldNames.length == 0) {
             return false;
         } else {
-            for (int i = 0; i < fieldNames.length; i++) {
-                if (fType.get(fieldNames[i]) == null) {
+            for (String fieldName : fieldNames) {
+                if (fType.get(fieldName) == null) {
                     return false;
                 }
-
             }
         }
         return true;
@@ -254,7 +248,7 @@
             } catch (NoSuchElementException e) {
                 return mySize;
             } finally {
-                iter.dispose();
+                DisposeUtils.disposeQuietly(iter);
             }
         } else if ((mode & EDITED) == EDITED) {
             long mySize = provider.getSize()
