code: public void readCoordinate(int[] row, int[] column, double[] dataR,
              double[] dataI) throws IOException {
          int size = row.length;
          if (size != column.length || size != dataR.length
                  || size != dataI.length)
              throw new IllegalArgumentException(
                      "All arrays must be of the same size");
          for (int i = 0; i < size; ++i) {
              row[i] = getInt();
              column[i] = getInt();
              dataR[i] = getDouble();
              dataI[i] = getDouble();
          }
      }
docs: Reads a coordinate matrix. First data array contains real entries, and
  the second contains imaginary entries