@SuppressWarnings("unchecked")
	static private void createNextLevel( final RowData rowData, final String path,
			final Data data, final SelectionManager selectionManager) {
		if(data.isPlain()) {
			String value = data.valueToString();
			rowData.setValue(value);
		}
		else {
			if( data.isList()) { // kein Array
				Iterator it = data.iterator();
				while(it.hasNext()) {
					Data nextData = (Data)it.next();
					final RowData nextRowData = getNextRowData(nextData, path, selectionManager);
					rowData.addArrayElement(nextRowData);
				}
			}
			if(data.isArray()) { // ein Array
				rowData.setIsArray(true);
				Data.Array dataArray = data.asArray();
				for(int i = 0, n = dataArray.getLength(); i < n; i++) {
					Data nextData = dataArray.getItem(i);
					RowSuccessor succ = new RowSuccessor();
					String elementPath = path + "[" + i + "]";
					succ.setKey(new CellKey(elementPath, false));
					if(nextData.isList()) {
						Iterator it = nextData.iterator();
						while(it.hasNext()) {
							Data nextNextData = (Data)it.next();
							RowData nextRowData = getNextRowData(nextNextData, elementPath, selectionManager);
							succ.addSuccessor(nextRowData);
						}
					}
					else { // keine Liste
						final RowData nextRowData = getNextRowData(nextData, path, selectionManager);
						succ.addSuccessor(nextRowData);
					}
					rowData.addArrayElement(succ);
				}
			}
		}
	}