title: Select element in CellList using SelectionModel or ListDataProvider
body: <p>I have used CellList for listing my data using ListDataProvider for managing the data and SelectionModel for selecting an element from CellList and generating events accordingly.</p>
  
  <p>Now when i update or delete element using cellList.getList().set(index, bean) or cellList.getList().remove() it sucessfully do the operation. But after that it automatically selects the first record in CellList which i do not want.</p>
  
  <p>Can anyone suggest how can i deselect the selected record in CellList?</p>
  
  <p>Below is the code how i am initializing the selectionmodel and listprovider:</p>
  
  <pre><code>ListDataProvider&lt;AppsBean&gt; dataProvider = new ListDataProvider&lt;AppsBean&gt;();
  CellList&lt;AppsBean&gt; appsCellList;
  SingleSelectionModel&lt;AppsBean&gt;  singleSelectionModel;
  
  ProvidesKey&lt;AppsBean&gt; keyProvider = new ProvidesKey&lt;AppsBean&gt;() {
          public Object getKey(AppsBean item) {
              // Always do a null check.
              return (item == null) ? null : item.getId();
          }
      };
      //here cell is the AbstractCell&lt;AppsBean&gt;    
      appsCellList = new CellList&lt;AppsBean&gt; (cell, keyProvider);
      dataProvider.addDataDisplay(appsCellList);
      appsCellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);
  
      singleSelectionModel = new SingleSelectionModel&lt;AppsBean&gt;(keyProvider);
      appsCellList.setSelectionModel(singleSelectionModel);
      singleSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
  
          @Override
          public void onSelectionChange(SelectionChangeEvent event) {
              AppsBean selectedApp = singleSelectionModel.getSelectedObject();
              if (selectedApp != null)
                  appsForm.fillApps(selectedApp);
          }
      });
  </code></pre>
  
  <p>When i am adding the new record:</p>
  
  <pre><code>dataProvider.getList().add(0, appsBean);
  </code></pre>
  
  <p>For updating the record: </p>
  
  <pre><code>AppsBean bean = singleSelectionModel.getSelectedObject();
  dataProvider.getList().set(dataProvider.getList().indexOf(bean), appsBean);
  </code></pre>
  
  <p>And for delete:</p>
  
  <pre><code>int selectedIndex = dataProvider.getList().indexOf(singleSelectionModel.getSelectedObject());
  dataProvider.getList().remove(selectedIndex);
  </code></pre>