code: private static boolean checkPostExpressions(
        Node n, Node expressionRoot, Predicate<Node> predicate) {
      for (Node p = n; p != expressionRoot; p = p.getParent()) {
        for (Node cur = p.getNext(); cur != null; cur = cur.getNext()) {
          if (predicate.apply(cur)) {
            return true;
          }
        }
      }
      return false;
    }
docs: Given an expression by its root and sub-expression n, return true if the predicate is true for
  some expression evaluated after n.
  
  <p>NOTE: this doesn't correctly check destructuring patterns, because their order of evaluation
  is different from AST traversal order,  but currently this is ok because
  FlowSensitiveInlineVariables never inlines variable assignments inside destructuring.
  
  <p>Example:
  
  <p>NotChecked(), NotChecked(), n, Checked(), Checked();