void refresh() {
    int pos = 0;
    for (final T item : backing) {
      if (pos < size()) {
        set(pos, item);
      } else {
        assert pos == size();
        add(pos, item);
      }
      pos++;
    }
    while (backing.size() < size()) {
      remove(size() - 1);
    }
    assert backing.size() == size();
    assert backing.equals(workingCopy);
  }
void refresh ( ) { int pos = 0 ; for ( final T item : backing ) { if ( pos < size ( ) ) { set ( pos , item ) ; } else { assert pos == size ( ) ; add ( pos , item ) ; } pos ++ ; } while ( backing . size ( ) < size ( ) ) { remove ( size ( ) - 1 ) ; } assert backing . size ( ) == size ( ) ; assert backing . equals ( workingCopy ) ; }
Refresh the editors in case the backing list has been modified from outside the
ListEditorWrapper list.
<p>
This is basically the opposite from {@link #flush()}. It's used to reuse sub-editors instead of
recreating a ListEditorWrapper from scratch.
</p>