private ResolverTree applyRule(final Binding b, final Set<Constraint> additional) {
    final Binding newBinding = b != null ? myCurrentBinding.compose(b) : null;

    return newBinding == null ? null : new ResolverTree(this, apply(b, additional), newBinding);
  }
private ResolverTree applyRule(final Binding b, final Set<Constraint> additional)