code: func tryToGetJoinGroup(j *Join) ([]LogicalPlan, bool) {
  	if j.reordered || !j.cartesianJoin {
  		return nil, false
  	}
  	lChild := j.GetChildByIndex(0).(LogicalPlan)
  	rChild := j.GetChildByIndex(1).(LogicalPlan)
  	if nj, ok := lChild.(*Join); ok {
  		plans, valid := tryToGetJoinGroup(nj)
  		return append(plans, rChild), valid
  	}
  	return []LogicalPlan{lChild, rChild}, true
  }
docs: // tryToGetJoinGroup tries to fetch a whole join group, which all joins is cartesian join.