code: public void decodeBulk(byte[][] readBufs, byte[][] writeBufs,
        int[] erasedLocations) throws IOException {
      int[] tmpInput = new int[readBufs.length];
      int[] tmpOutput = new int[erasedLocations.length];
  
      int numBytes = readBufs[0].length;
      for (int idx = 0; idx < numBytes; idx++) {
        for (int i = 0; i < tmpOutput.length; i++) {
          tmpOutput[i] = 0;
        }
        for (int i = 0; i < tmpInput.length; i++) {
          tmpInput[i] = readBufs[i][idx] & 0x000000FF;
        }
        decode(tmpInput, erasedLocations, tmpOutput);
        for (int i = 0; i < tmpOutput.length; i++) {
          writeBufs[i][idx] = (byte) tmpOutput[i];
        }
      }
    }
docs: This method would be overridden in the subclass,
  so that the subclass will have its own decodeBulk behavior.