private void appendRowElements( final RowData rowData, 
			final Set<CellKey> keys, 
			final Map<RowElement,CellKey> rowElementKeyMap) {
		final List<Object> successors = rowData.getSuccessors();
		if ( successors.isEmpty()) { // hat eine RowElement-Komponente
			final CellKey cellKey = rowData.getCellKey();
			if ( keys.contains( cellKey)) {
				final JComponent component = rowData.getComponent();
				if ( (component != null) && (component instanceof RowElement)) {
					final RowElement rowElement = (RowElement) component;
					rowElementKeyMap.put( rowElement, cellKey);
				}
			}
		} else {
			for ( Object object : successors) {
				if ( object instanceof RowData) {	// keine Liste
					appendRowElements( (RowData) object, keys, rowElementKeyMap);
				} else {	// eine Liste
					final RowSuccessor rowSuccessor = (RowSuccessor) object;
					final List<RowData> successors2 = rowSuccessor.getSuccessors();
					for ( RowData rowData2 : successors2) {
						appendRowElements( rowData2, keys, rowElementKeyMap);
					}
				}
			}
		}
	}