*/
protected MatcherContext lookupMatcherContext() {
// determine the matching type and check if there are conflicting match attributes
LinkedList<MatcherContext> matcherContextList = new LinkedList<MatcherContext>();
if (this.pattern != null) {
matcherContextList.add(new MatcherContext(new WildcardMatcher(), this.pattern));
}
if (this.regexp != null) {
matcherContextList.add(new MatcherContext(new RegexpMatcher(), this.regexp));
}
if (this.equals != null) {
matcherContextList.add(new MatcherContext(new EqualsMatcher(), this.equals));
}
if (this.contains != null) {
matcherContextList.add(new MatcherContext(new ContainsMatcher(), this.contains));
}
if (this.wildcard != null) {
matcherContextList.add(new MatcherContext(new WildcardMatcher(), this.wildcard));
}
if (this.startsWith != null) {
matcherContextList.add(new MatcherContext(new StartsWithMatcher(), this.startsWith));
}
if (this.endsWith != null) {