public Object invokeConstructor()
        {
            Class[] types = c.getParameterTypes();
            Object[] values = new Object[types.length];

            for (int i = 0; i < types.length; i++)
            {
                values[i] = makeDefaultValue(types[i]);
            }

            if (types.length > 0)
            {
                PropertySheet sheet = new PropertySheet(types, values);
                JOptionPane.showMessageDialog(this, sheet, resources
                        .getString("dialog.method.params"),
                        JOptionPane.QUESTION_MESSAGE);
                values = sheet.getValues();
            }

            try
            {
                return c.newInstance(values);
            }
            catch (InvocationTargetException ex)
            {
                parent.new GUIExceptionHandler().handle(ex.getCause());
                return null;
            }
            catch (Exception ex)
            {
                parent.new GUIExceptionHandler().handle(ex);
                return null;
            }
        }