docs: def correct_absolute_refs(self, construction_table):
          """Reindexe construction_table if linear reference in first three rows
          present.
  
          Uses :meth:`~Cartesian.check_absolute_refs` to obtain the problematic
          indices.
  
          Args:
              construction_table (pd.DataFrame):
  
          Returns:
              pd.DataFrame: Appropiately renamed construction table.
          """
          c_table = construction_table.copy()
          abs_refs = constants.absolute_refs
          problem_index = self.check_absolute_refs(c_table)
          for i in problem_index:
              order_of_refs = iter(permutations(abs_refs.keys()))
              finished = False
              while not finished:
                  if self._has_valid_abs_ref(i, c_table):
                      finished = True
                  else:
                      row = c_table.index.get_loc(i)
                      c_table.iloc[row, row:] = next(order_of_refs)[row:3]
          return c_table