TreeList* TreeList::as_TreeList(TreeChunk* tc) {
  // This first free chunk in the list will be the tree list.
  assert(tc->size() >= sizeof(TreeChunk), "Chunk is too small for a TreeChunk");
  TreeList* tl = tc->embedded_list();
  tc->set_list(tl);
#ifdef ASSERT
  tl->set_protecting_lock(NULL);
#endif
  tl->set_hint(0);
  tl->set_size(tc->size());
  tl->link_head(tc);
  tl->link_tail(tc);
  tl->set_count(1);
  tl->init_statistics();
  tl->setParent(NULL);
  tl->setLeft(NULL);
  tl->setRight(NULL);
  return tl;
}