IndexMapper mapping;
int j;
int[] _forbidden = forbidden.toArray();
for (int i = field.size() - 1; i >= 0; --i) {
arg = field.args[i];
IndexGeneratorImpl ig = new IndexGeneratorImpl(_forbidden);
_from = TensorUtils.getAllIndicesNamesT(arg).toArray();
Arrays.sort(_from);
_to = new int[_from.length];
for (j = _from.length - 1; j >= 0; --j) {
if (forbidden.contains(_from[j]))
_to[j] = ig.generate(getType(_from[j]));
else _to[j] = _from[j];
forbidden.add(_to[j]);
}
arg = applyIndexMapping(arg, mapping = new IndexMapper(_from, _to));
if (arg != field.args[i]) {