code: func (joins *TableJoinMap) GetOrderdActivatedJoins() ([]*TableJoin, error) {
  	if err := joins.ActivateRequiredJoins(); err != nil {
  		return nil, errs.Wrap(err, "failed to get activate required joins")
  	}
  
  	orderer := activationOrderer{
  		m:              *joins,
  		alreadyVisited: map[*TableJoin]struct{}{},
  	}
  
  	for name := range *joins {
  		if err := orderer.visitDepthFirst(name); err != nil {
  			return nil, errs.Wrapf(err, `failed to visit "%s" join`, name)
  		}
  	}
  	return orderer.orderedActivatedJoins, nil
  }
docs: // GetOrderdActivatedJoins returns a slice of activated joins in a proper order,
  // beginning with the join that activates no other join, and ending with the
  // join that activates another join but isn't activated by another join itself.