'to_dict tool parameter. This can be overridden by subclasses.'

def to_dict(self, trans, other_values={}):

    tool_dict = super(ToolParameter, self).to_dict()
    tool_dict['model_class'] = self.__class__.__name__
    tool_dict['optional'] = self.optional
    tool_dict['hidden'] = self.hidden
    tool_dict['is_dynamic'] = self.is_dynamic
    tool_dict['value'] = self.value_to_basic(self.get_initial_value(trans, other_values), trans.app, use_security=True)
    return tool_dict
