acctualy you wouldn't need a fork table, you would just need a boolean field in the forum table for "isFork" and an integer field for "ParentThread" and another for "ParentPost" (post retained to fork from correct location but thread maintained for prevent loosing forking location if the post is deleted.

then you could add a small field to the view settings for "Show forks" to show or hide forked threads in forum view