I have a `TreeViewer` which contains some nodes which each node has some attributes with their corresponding values. I have also a `TableViewer` to show the attributes and their corresponding values of the selected node from the `TreeViewer`. In the table there are only 2 columns, one showing the attribute name (on the left) and the other one showing the value of that attribute (on the right). 

I have the attributes and values in a `HashMap`(attributes, value)

But since each node is representing one object, the call to `AttributeLabelProvider` (implements `ITableLabelProvider`) method `getColumnText(Object element, int columnIndex)` only happens once. But I need to create 10 rows to show all the 10 attributes on the attribute column and their values on the right column.

```
tableViewer.setInput(selectedNode);
// The following is where I have implemented IStructuredContentProvider to use as my content provider
@Override
public Object[] getElements(Object inputElement) {
    TreeNode TN = (TreeNode) inputElement;
    return TN.getAttributes().values().toArray(); // ***
}

```

\*\*\* here I can only pass either `keySet()` or `values()` because my attributes are in a `HashMap`.

Thanks in advance :)