ContextInsertionRule function defines if a program node can be inserted in the given context
InsertionContext providing access to surrounding tree nodes, where the node would be inserted
whether the node is allowed to be inserted
ContextInsertionRule function defines if a program node can be inserted in the given context