Determines whether the node represents a language construct that was actually parsed
from the source code. Missing nodes are generated by the parser in error scenarios to
represent constructs that should have been present in the source code in order to
compile successfully but were actually missing.

Finds the node with the smallest FullSpan that contains span.
getInnermostNodeForTie is used to determine the behavior in case of a tie (i.e. a node having the same span as its parent).
If getInnermostNodeForTie is true, then it returns lowest descending node encompassing the given span.
Otherwise, it returns the outermost node encompassing the given span.

Finds a token according to the following rules:
1) If position matches the End of the node/s FullSpan and the node is CompilationUnit,
then EoF is returned.
2) If node.FullSpan.Contains(position) then the token that contains given position is
returned.
3) Otherwise an ArgumentOutOfRangeException is thrown