--- /dev/null
+package jalview.util.matcher;
+
+import java.util.function.Function;
+
+public interface KeyedMatcherI
+{
+ boolean matches(Function<String, String> valueProvider);
+
+ /**
+ * Answers a new object that matches the logical AND of this and m
+ *
+ * @param m
+ * @return
+ */
+ KeyedMatcherI and(String key, MatcherI m);
+
+ /**
+ * Answers a new object that matches the logical OR of this and m
+ *
+ * @param m
+ * @return
+ */
+ KeyedMatcherI or(String key, MatcherI m);
+
+ String getKey();
+
+ MatcherI getMatcher();
+
+ KeyedMatcherI getSecondMatcher();
+
+ boolean isAnded();
+}