docs: public static double[][] appendColumns(final double[][] m1, final double[][] m2) {
      final int columndimension = getColumnDimensionality(m1);
      final int ccolumndimension = getColumnDimensionality(m2);
      assert m1.length == m2.length : "m.getRowDimension() != column.getRowDimension()";
  
      final int rcolumndimension = columndimension + ccolumndimension;
      final double[][] result = new double[m1.length][rcolumndimension];
      for(int i = 0; i < rcolumndimension; i++) {
        // FIXME: optimize - excess copying!
        if(i < columndimension) {
          setCol(result, i, getCol(m1, i));
        }
        else {
          setCol(result, i, getCol(m2, i - columndimension));
        }
      }
      return result;
    }