class Ransack::ActiveRecord::Context

def adopt(mirror, parent, node, join_type)

remove a join that belongs to the relation.
every node under it, and locks them so a negative condition cannot
Assigns the table aliases for a node the relation already joins, and
def adopt(mirror, parent, node, join_type)
  @tables_pot[node] = mirror.construct_tables_for_association!(parent, node, join_type)
  @lock_associations << node
  node.children.each { |child| adopt(mirror, node, child, join_type) }
end