public Optional<Rule<T>> rule(final NonTerminal<?> start) {
		requireNonNull(start);
		for (var rule : rules) {
			if (rule.start().name().equals(start.name())) {
				return Optional.of(rule);
			}
		}
		return Optional.empty();
	}
Return the rule for the given {@code start} symbol.

@param start the start symbol of the rule
@return the rule for the given {@code start} symbol
@throws NullPointerException if the given {@code start} symbol is
        {@code null}
jenetics.ext/src/main/java/io/jenetics/ext/grammar/Cfg.java