The GWT team did this be design.
AFAIK interfaces and classes which are not really finalized are (package-) private so that nobody can rely or build on top of them. Otherwise if the GWT team decides to change something it will break their code.
I guess that's the reason why createHeaders() is private.