code: @Override
      public Matrix<T> repmat(final int rowRepeats, final int colRepeats) {
          N.checkArgument(rowRepeats > 0 && colRepeats > 0, "rowRepeats=%s and colRepeats=%s must be bigger than 0", rowRepeats, colRepeats);
  
          final T[][] c = N.newArray(arrayType, rows * rowRepeats);
  
          for (int i = 0, len = c.length; i < len; i++) {
              c[i] = N.newArray(componentType, cols * colRepeats);
          }
  
          for (int i = 0; i < rows; i++) {
              for (int j = 0; j < colRepeats; j++) {
                  N.copy(a[i], 0, c[i], j * cols, cols);
              }
          }
  
          for (int i = 1; i < rowRepeats; i++) {
              for (int j = 0; j < rows; j++) {
                  N.copy(c[j], 0, c[i * rows + j], 0, c[j].length);
              }
          }
  
          return new Matrix<T>(c);
      }
docs: Repeat this matrix <code>rowRepeats</code> times in row direction and <code>colRepeats</code> times in column direction.
  
  @param rowRepeats
  @param colRepeats
  @return a new matrix
  @see IntMatrix#repmat(int, int)