private ReasonerFactory getReasonerFactory( Assembler a, Resource root )
{
Resource rf = getUniqueResource( root, JA.reasonerFactory );
Resource ru = getUniqueResource( root, JA.reasonerURL );
if (ru != null && rf != null) throw new ReasonerClashException( root );
if (ru != null) return ReasonerFactoryAssembler.getReasonerFactoryByURL( root, ru );
return rf == null ? null : (ReasonerFactory) a.open( rf );
}