protected function copyBranch($branch, $parentId) {
        $Model = $this->Model;

        $copy = new $Model($branch->attributesToArray());
        $copy->parentId = $parentId;
        $copy->save();
        $parentId = $copy->id;

        foreach ( $branch->children as $child ) {
            $this->copyBranch($child, $parentId);
        }

        return $copy;
    }