Yeah, understood. The original NPE problem was caused by adding and not knowing the salting column. In the PTable initialization, the "columns" was automatically made "list size + 1" so that everything came out as expected (including the salting column and other column positions) but that only the last index was left as a null value. And we would like to keep the salting in the projected table so that  we don't have to tweak with rowkey mapping at runtime.