<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pickle(self, path):
 """Write objects to python pickle. Pickling is Python's method for serializing/deserializing Python objects. This allows you to save a fully functional JSSObject to disk, and then load it later, without having to retrieve it from the JSS. This method will pickle each item as it's current type; so JSSListData objects will be serialized as JSSListData, and JSSObjects as JSSObjects. If you want full data, do: my_list.retrieve_all().pickle("filename") Args: path: String file path to the file you wish to (over)write. Path will have ~ expanded prior to opening. """

        with open(os.path.expanduser(path), "wb") as pickle:
            cPickle.Pickler(pickle, cPickle.HIGHEST_PROTOCOL).dump(self)