intercept
Intercept the visit functions.
If a non-null result is returned, this result will be used as the visit result, the origin visit function will be skipped. Otherwise, if null is returned, the origin visit function will be executed, because null value means that we don't want to intercept the logic.