def prepend(object)
      sub_chain_a_tail = coerce object

      if chain_head?
        sub_chain_a_tail.split_after_and_insert
        sub_chain_a_tail.append self

        return chain_head
      end

      target_chain = chain_head

      sub_chain_a_head = sub_chain_a_tail.split_after_and_insert target_chain

      prev!.next = sub_chain_a_head
      sub_chain_a_head.prev = prev!

      sub_chain_a_tail.next = self
      self.prev = sub_chain_a_tail

      sub_chain_a_head
    end
def prepend(object)
      sub_chain_a_tail = coerce object

      if chain_head?
        sub_chain_a_tail.split_after_and_insert
        sub_chain_a_tail.append self

        return chain_head
      end

      target_chain = chain_head

      sub_chain_a_head = sub_chain_a_tail.split_after_and_insert target_chain

      prev!.next = sub_chain_a_head
      sub_chain_a_head.prev = prev!

      sub_chain_a_tail.next = self
      self.prev = sub_chain_a_tail

      sub_chain_a_head
    end
rubocop:enable Metrics/MethodLength
 rubocop:disable Metrics/MethodLength