def _reindex_with_indexers(self, reindexers, fill_value=None, copy=False,<EOL>allow_dups=False):
<EOL>new_data = self._data<EOL>for axis in sorted(reindexers.keys()):<EOL><INDENT>index, indexer = reindexers[axis]<EOL>baxis = self._get_block_manager_axis(axis)<EOL>if index is None:<EOL><INDENT>continue<EOL><DEDENT>index = ensure_index(index)<EOL>if indexer is not None:<EOL><INDENT>indexer = ensure_int64(indexer)<EOL><DEDENT>new_data = new_data.reindex_indexer(index, indexer, axis=baxis,<EOL>fill_value=fill_value,<EOL>allow_dups=allow_dups,<EOL>copy=copy)<EOL><DEDENT>if copy and new_data is self._data:<EOL><INDENT>new_data = new_data.copy()<EOL><DEDENT>return self._constructor(new_data).__finalize__(self)<EOL>
allow_dups indicates an internal call here