Refactor PatternConstraintImpl