class ColorArgument extends AbstractArgument {

    public ColorArgument() {
        super();
    }

    public ColorArgument(AbstractTool tool, String name, String description) {
        super(tool, name, description, null);
    }

    public Object getArgument() throws InstantiationException {<FILL_FUNCTION_BODY>}

    public void actionPerformed(ActionEvent e) {
        Color initialColor = new Color(0xFF, 0xFF, 0xFF);
        if (value != null) {
            initialColor = Color.decode(value.toString());
        }
        Color newColor = JColorChooser.showDialog(tool.getInternalFrame(),
                "Choose Color", initialColor);
        setValue("0x"
                + Integer.toHexString(
                (newColor.getRed() << 16)
                        | (newColor.getGreen() << 8)
                        | (newColor.getBlue() << 0)).toUpperCase());
    }


}

        if (value == null) {
            return null;
        }
        try {
            return Color.decode(value.toString());
        } catch (Exception e) {
            throw new InstantiationException(e.getMessage());
        }
    
<methods>public void <init>() ,public void <init>(com.lowagie.toolbox.AbstractTool, java.lang.String, java.lang.String, java.lang.Object) ,public abstract void actionPerformed(java.awt.event.ActionEvent) ,public synchronized void addPropertyChangeListener(java.beans.PropertyChangeListener) ,public java.lang.Object getArgument() throws java.lang.InstantiationException,public java.lang.String getDescription() ,public java.lang.String getName() ,public com.lowagie.toolbox.AbstractTool getTool() ,public java.lang.String getUsage() ,public java.lang.Object getValue() ,public void propertyChange(java.beans.PropertyChangeEvent) ,public synchronized void removePropertyChangeListener(java.beans.PropertyChangeListener) ,public void setDescription(java.lang.String) ,public void setName(java.lang.String) ,public void setTool(com.lowagie.toolbox.AbstractTool) ,public void setValue(java.lang.Object) ,public void setValue(java.lang.Object, java.lang.String) ,public java.lang.String toString() <variables>protected java.lang.String description,protected java.lang.String name,protected java.beans.PropertyChangeSupport pcs,protected com.lowagie.toolbox.AbstractTool tool,protected java.lang.Object value