public static ResultSet fromBIO(InputStream input)
{
// Scan the stream for VARS and accumulate the total variables.
// Trade off of guessing first line is all the VARS and coping with
// anything possible. -> Cope with anything possible.
BindingInputStream bin = new BindingInputStream(input) ;
List<Binding> bindings = new ArrayList<Binding>() ;
List<Var> vars = new ArrayList<Var>() ;
while(bin.hasNext())
{
Binding b = bin.next();
bindings.add(b) ;
for ( Var v : bin.vars() )
{
if ( ! vars.contains(v) )
vars.add(v) ;
}
}