public void reportToStdOut()
  {
    int maxLength = getMaximumStringLength();
    StringBuilder reporter = new StringBuilder();

    reporter.append(padTo("", maxLength));
    for (int x = 0; x < dataSource.getMaxTargetNode(); x++)
    {
      reporter.append(padTo(Integer.toString(x), maxLength));
    }
    reporter.append('\n');
    for (int y = 0; y < dataSource.getMaxStartNode(); y++)
    {
      reporter.append(padTo(Integer.toString(y), maxLength));
      for (int x = 0; x < dataSource.getMaxTargetNode(); x++)
      {
        String displayValue = getStringValue(y, x);
        reporter.append(padTo(displayValue, maxLength));
      }
      reporter.append('\n');
    }

    System.out.println(reporter.toString());
  }