'Serialize this RingBuilder instance to disk.
:param builder_file: path to builder file to save'

def save(self, builder_file):

    id_persisted = True
    if (self._id is None):
        id_persisted = False
        self._id = uuid.uuid4().hex
    try:
        with open(builder_file, 'wb') as f:
            pickle.dump(self.to_dict(), f, protocol=2)
    except Exception:
        if (not id_persisted):
            self._id = None
        raise
