// Constructor
 public SpxCursor(RemoteTextData source, Iterator iterator, Fields fields) {
   _dataSource = source;
   _iterator = iterator;
   _fields = fields;
   _name = source.getName();
   peek();
 }
 protected void peek() {
   // simply update the value of _next
   if (_iterator.hasNext()) {
     SpxSpatialNode node = (SpxSpatialNode) _iterator.next();
     GeoPlace place = _dataSource.getPlaceFromID(node.getFid());
     _next = getFeature(place, new BaseDataID(_name, place.id), _fields);
   } else {
     _next = null;
   }
 }