Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
Hmmm, I am making it `ValidateNonVisitedNodeAndChildren`