public String readUntilEither(String s){
  int ix=Integer.MAX_VALUE;
  for (  char c : s.toCharArray()) {
    int ixx=data.indexOf(c,pos);
    if (ixx >= 0 && ixx < ix)     ix=ixx;
  }
  if (ix == -1)   throw new RuntimeException("readUntilEither did not find any character in '" + s + "'");
  return readN(ix - pos);
}

public String readUntilEither ( String s ) { int ix = Integer . MAX_VALUE ; for ( char c : s . toCharArray ( ) ) { int ixx = data . indexOf ( c , pos ) ; if ( ixx >= 0 && ixx < ix ) ix = ixx ; } if ( ix == - 1 ) throw new RuntimeException ( "readUntilEither did not find any character in '" + s + "'" ) ; return readN ( ix - pos ) ; }
read until the next char is one in s , and return the string .
