public Object getValueAt(int row, int col) {

    if (nodeData == null) {
      return null;
    }
    if (row >= nodeData.size()) {
      return null;
    }

    NodePosition np = (NodePosition) nodeData.elementAt(row);
    if (np != null) {
      NodeSummary node = np.getNode();
      if (node != null) {
        switch (col) {
          case ListTableModel.NUMBER_COLUMN:
            {
              return new Integer(row);
            }
          case ListTableModel.IMAGE_COLUMN:
            {
              if (node.getType() == ICoreConstants.REFERENCE) {
                return UINode.getReferenceImageSmall(node.getSource());
              } else {
                return UINode.getNodeImageSmall(node.getType());
              }
            }
          case ListTableModel.TAGS_COLUMN:
            {
              if (node.getCodeCount() > 0) {
                return "T"; //$NON-NLS-1$
              } else {
                return ""; //$NON-NLS-1$
              }
            }
          case ListTableModel.VIEWS_COLUMN:
            {
              int count = node.getViewCount();
              if (count == 0) {
                node.updateMultipleViews();
                count = node.getViewCount();
              }
              return new Integer(count);
            }
          case ListTableModel.DETAIL_COLUMN:
            {
              String sDetail = node.getDetail();
              sDetail = sDetail.trim();
              if (!sDetail.equals("")
                  && !sDetail.equals(ICoreConstants.NODETAIL_STRING)) { // $NON-NLS-1$
                return "*"; //$NON-NLS-1$
              } else {
                return ""; //$NON-NLS-1$
              }
            }
          case ListTableModel.WEIGHT_COLUMN:
            {
              if (node instanceof View) {
                View view = (View) node;
                int count = 0;
                try {
                  count = view.getNodeCount();
                } catch (Exception e) {
                }
                return new Integer(count);
              }
              return null;
            }
          case ListTableModel.LABEL_COLUMN:
            {
              return node.getLabel();
            }
          case ListTableModel.CREATION_DATE_COLUMN:
            {
              return node.getCreationDate();
            }
          case ListTableModel.MODIFICATION_DATE_COLUMN:
            {
              return node.getModificationDate();
            }
          case ListTableModel.ID_COLUMN:
            {
              return node.getId();
            }
          case ListTableModel.AUTHOR_COLUMN:
            {
              return node.getAuthor();
            }
          default:
            return null;
        }
      }
    }

    return null;
  }