fun collect(name: String, data: () -> ByteArray): Pair<String, Collection<String>>
Returns the collected result, a non-null result means the matched input is out-of-date.