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