List<Cell> cellList = rack.getCellList();
DefaultMutableTreeTableNode aRoot = new DefaultMutableTreeTableNode(
new Sample());
for (Iterator<Cell> iterator = cellList.iterator(); iterator.hasNext();) {
Cell cell = iterator.next();
cell.addObserver(this);
if (!cell.hasChildren()) {
aRoot.add(new DefaultMutableTreeTableNode(cell));
} else {
DefaultMutableTreeTableNode currentNode = new DefaultMutableTreeTableNode(
cell);
aRoot.add(currentNode);
Map<CellPosition, SubCell> positionChildrenMap = cell
.getChildrenMap();
Set<CellPosition> positions = positionChildrenMap.keySet();
List<CellPosition> orderedPositions = new ArrayList<CellPosition>(
positions);
Collections.sort(orderedPositions);