def clone(self, container, destination="/", objects=[], folders=[], parents=False, **kwargs):
        """
        :param container: Destination container ID
        :type container: string
        :param destination: Path of destination folder in the destination container
        :type destination: string
        :param objects: List of object IDs to move
        :type objects: list of strings
        :param folders: List of full paths to folders to move
        :type folders: list of strings
        :param parents: Whether the destination folder and/or parent folders should be created if they do not exist
        :type parents: boolean

        Clones (copies) the specified objects and folders in the
        container into the folder *destination* in the container
        *container*. Cloning a folder also clones all all folders and
        objects it contains. If an object or folder is explicitly
        specified but also appears inside another specified folder, it
        will be removed from its parent folder and placed directly in
        *destination*. No objects or folders are modified in the source
        container.

        Objects must be in the "closed" state to be cloned.

        """
        api_method = dxpy.api.container_clone
        if isinstance(self, DXProject):
            api_method = dxpy.api.project_clone

        return api_method(self._dxid,
                          {"objects": objects,
                           "folders": folders,
                           "project": container,
                           "destination": destination,
                           "parents": parents},
                          **kwargs)