public virtual bool IPossible(Hook hook)
 {
     return(scorer.IPossible(Project(hook)));
 }
 public virtual bool IPossible(Hook hook)
 {
     return(hook.IsPreHook() ? iPossibleByR[hook.start][hook.head][dg.TagBin(hook.tag)] : iPossibleByL[hook.end][hook.head][dg.TagBin(hook.tag)]);
 }
 public virtual bool IPossible(Hook hook)
 {
     return(scorer1.IPossible(hook) && scorer2.IPossible(hook));
 }