// ----------------------------------------------------------------------------------------
  public void createAndBroadcastMatrix(
      String[] rowNames, String[] columnNames, double[] data, String matrixName) {
    // System.out.println (" ------- RShellGoose.cabm");
    // System.out.println ("   row name count: " + rowNames.length);
    // System.out.println ("   col name count: " + columnNames.length);
    // System.out.println ("      data length: " + data.length);
    // System.out.println ("             name: " + matrixName);
    DataMatrix matrix = new DataMatrix();

    int rowCount = rowNames.length;
    int columnCount = columnNames.length;
    matrix.setSize(rowCount, columnCount);
    if (matrixName != null) {
      matrix.setShortName(matrixName); //
      matrix.setName(matrixName);
    }

    matrix.setRowTitles(rowNames);
    matrix.setColumnTitles(columnNames);

    for (int r = 0; r < rowCount; r++) {
      double[] rowValues = new double[columnCount];
      int fromPosition = r * columnCount;
      System.arraycopy(data, fromPosition, rowValues, 0, columnCount);
      matrix.set(r, rowValues);
    } // for r

    broadcastMatrix(matrix);
  } // createAndBroadcastMatrix