ArrangementEntryMatcher (@NotNull ArrangementAtomMatchCondition condition) { if (StdArrangementTokenType.ENTRY_TYPE.is(condition.getType())) { return new ByTypeArrangementEntryMatcher(condition); } else if (StdArrangementTokenType.MODIFIER.is(condition.getType())) { return new ByModifierArrangementEntryMatcher(condition); } else if (StdArrangementTokens.Regexp.NAME.equals(condition.getType())) { return new ByNameArrangementEntryMatcher(condition.getValue().toString()); } else if (StdArrangementTokens.Regexp.XML_NAMESPACE.equals(condition.getType())) { return new ByNamespaceArrangementEntryMatcher(condition.getValue().toString()); } else { return null; } }