boolean popupTrigger = event.getButton() == MouseEvent.BUTTON3;
private void mouseEvent(MouseEvent event, int row, int col){//	if (event.isPopupTrigger())	{		InspectableProperty property = (InspectableProperty)tableModel.getPropertyAt(row);		// change visibility		if (col==0 && event.isPopupTrigger())		{			if (property!=null && property instanceof VDBFieldData)  ///!!! define interface!!			{				int visibility = property.getVisibility();				visibility = (visibility+1) % 3;						/// !!! who said there are only three modes?!				((VDBFieldData)property).setVisibility(visibility);								getScrollPaneTable().tableChanged(new TableModelEvent(tableModel, row, row, col));			}		}		// !!!		else if (event.isPopupTrigger() || !property.isEditable())//		else if (col>0 && (event.isPopupTrigger() || property.isEditable()))		{			if (property!=null)				property.popupEvent(getScrollPaneTable(), event.getX(), event.getY());		}	}}