I needed to provide an interface for matching two terms besides a term and a rule. So I took the fastest way to do this by exposing the constructor. You are right. I should have made another static method for this functionality. Thanks!