public void liftUp(Row in, List<Row> nodes) {Iterator<Cell> i = in.cells.values().iterator();for (; i.hasNext();) {Cell c = i.next();if (c.ref >= 0) {Row to = nodes.get(c.ref);int sum = to.uniformCmd(changeSkip);if (sum >= 0) {if (sum == c.cmd) {if (changeSkip) {if (c.skip != to.uniformSkip + 1) {continue;}c.skip = to.uniformSkip + 1;} else {c.skip = 0;}c.cnt += to.uniformCnt;c.ref = -1;} else if (c.cmd < 0) {c.cnt = to.uniformCnt;c.cmd = sum;c.ref = -1;if (changeSkip) {c.skip = to.uniformSkip + 1;} else {c.skip = 0;}}}}}}

public void LiftUp(Row @in, IList<Row> nodes){foreach (Cell c in @in.cells.Values){if (c.@ref >= 0){Row to = nodes[c.@ref];int sum = to.UniformCmd(changeSkip);if (sum >= 0){if (sum == c.cmd){if (changeSkip){if (c.skip != to.uniformSkip + 1){continue;}c.skip = to.uniformSkip + 1;}else{c.skip = 0;}c.cnt += to.uniformCnt;c.@ref = -1;}else if (c.cmd < 0){c.cnt = to.uniformCnt;c.cmd = sum;c.@ref = -1;if (changeSkip){c.skip = to.uniformSkip + 1;}else{c.skip = 0;}}}}}}
