public static void addNewRow(JTable table, Container controlsContainer) throws Exception {
        Object[] row = new Object[controlsContainer.getComponentCount()];
        Component comp;
        String item = null;
        Object objItem;
        JTextField textField;
        JComboBox comboBox;

        for (int i = 0; i < controlsContainer.getComponentCount(); i++) {
            comp = controlsContainer.getComponent(i);

            if (comp instanceof JTextField) {
                textField = (JTextField)comp;
                row[i] = textField.getText();
                textField.setText(EMPTY);
            } else if (comp instanceof JComboBox) {
                comboBox = (JComboBox)comp;
                objItem = comboBox.getSelectedItem();
                if (objItem instanceof StringBuffer) {
                    item = objItem.toString();
                } else if (objItem instanceof String) {
                    item = (String) objItem;
                }
                if (item != null) {
                    if (item.indexOf(DELIMETER) > -1) {
                        row = new Object[2];
                        row[0] = item.substring(0, item.indexOf(DELIMETER));
                        row[1] = item.substring(item.indexOf(DELIMETER) + DELIMETER.length());
                    } else {
                        row[i] = item;
                    }
                    comboBox.removeItem(item);
                } else {
                    return;
                }
            }
        }

        addRow(table, row);
        controlsContainer.getComponent(0).requestFocus();
    }