'duplicate: Duplicate one or more objects
Required argument: the object(s) to duplicate
Keyword argument to: the new location for the object(s)
Keyword argument with_properties: the initial values for properties of the new object that are to be different from the original
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: to the duplicated object(s)'

def duplicate(self, _object, _attributes={}, **_arguments):

    _code = 'core'
    _subcode = 'clon'
    aetools.keysubst(_arguments, self._argmap_duplicate)
    _arguments['----'] = _object
    (_reply, _arguments, _attributes) = self.send(_code, _subcode, _arguments, _attributes)
    if _arguments.get('errn', 0):
        raise aetools.Error, aetools.decodeerror(_arguments)
    if _arguments.has_key('----'):
        return _arguments['----']
