We returned the innermost child that has the pointer, which is not right. Only the direct child that has the pointer in it should be reported (if any).