also this javadoc needs to explain the contract it has regarding returning null. It looks like returning null is used to interpret that the parse being considered is not acceptable and should be removed entirely, but that has to be explicitly explained here.