docs: public static boolean skipUntil(InputStream in, byte[] separator) throws IOException {
          if (separator == null) {
              throw new NullPointerException("Null separator given");
          }
          final int len = separator.length;
          if(len > 0) {
              if(len == 1) { return skipUntil(in, separator[0]); }
              if(len > 4) { return skipUntilInternal(in, separator, new byte[len]); }
  
              int mask = len == 2 ? 0xffff : len == 3 ? 0xffffff : 0xffffffff;
              int sep = (separator[0] % 0x100) << 8 | ((int) separator[1] % 0x100);
              if(len > 2) {
                  sep = sep << 8 | ((int) separator[2] % 0x100);
              }
              if(len > 3) {
                  sep = sep << 8 | ((int) separator[3] % 0x100);
              }
              int r, p = 0;
              int tmp = 0;
              while((r = in.read()) >= 0) {
                  ++p;
                  tmp = tmp << 8 | r;
                  if(p >= len && (tmp & mask) == sep) {
                      return true;
                  }
              }
              return false;
          }
          return true;
      }