=str #16479 Make constructor of FreeDirective internal

@ktoso sorry, I forgot your comment about that, it is supposed to be private()