That constructor exists (and is package private) to allow for unit tests in the same class to invoke it with mock objects.  I can see how that wasn't clear, and that without documentation could result in confusion and future bugs.  I've added javadocs to that effect that will be present in the forthcoming pull request.