code: def _prependstore(self, store):
          
          if not store.bitlength:
              return
              # Set the offset of copy of store so that it's final byte
          # ends in a position that matches the offset of self,
          # then join self on to the end of it.
          store = offsetcopy(store, (self.offset - store.bitlength) % 8)
          assert (store.offset + store.bitlength) % 8 == self.offset % 8
          bit_offset = self.offset % 8
          if bit_offset:
              # first do the byte with the join.
              store.setbyte(-1, (store.getbyte(-1) & (255 ^ (255 >> bit_offset)) | \
                                 (self._rawarray[self.byteoffset] & (255 >> bit_offset))))
              store._rawarray.extend(self._rawarray[self.byteoffset + 1: self.byteoffset + self.bytelength])
          else:
              store._rawarray.extend(self._rawarray[self.byteoffset: self.byteoffset + self.bytelength])
          self._rawarray = store._rawarray
          self.offset = store.offset
          self.bitlength += store.bitlength
docs: Join another store on to the start of this one.