code: public int read(byte[] b, int off, int len) throws IOException {
          int c = super.read(b, off, len);
          if( c == -1 && filenames.hasNext() ) {
              cueStream();
              return read(b,off,len);
          }
          return c;
      }
docs: /* (non-Javadoc)
  @see java.io.InputStream#read(byte[], int, int)