code: public boolean startDecode() throws IOException {
          if(insideSOS) {
              throw new IllegalStateException("decode already started");
          }
          if(foundEOI) {
              return false;
          }
  
          decodeHeader();
          int m = getMarker();
          while(m != 0xD9) {  // EOI
              if(m == 0xDA) { // SOS
                  processScanHeader();
                  insideSOS = true;
                  currentMCURow = 0;
                  reset();
                  return true;
              } else {
                  processMarker(m);
              }
              m = getMarker();
          }
  
          foundEOI = true;
          return false;
      }
docs: Starts the decode process. This will advance the JPEG stream to the start
  of the image data. It also checks if that JPEG file can be decoded by this
  library.
  
  @return true if the JPEG can be decoded.
  @throws IOException if an IO error occurred