@Override
	public int rewrite(final TreeNode<Op<T>> node, final int limit) {
		requireNonNull(node);

		int rewritten = 0;
		int res;
		Optional<TreeNode<Op<T>>> result;
		do {
			result = results(node).findFirst();

			res = result.map(this::rewriting).orElse(0);
			rewritten += res;
		} while (result.isPresent() && rewritten < limit);

		return rewritten;
	}
Return the operation type this rewriter is working on.

@return the operation type this rewriter is working on
jenetics.prog/src/main/java/io/jenetics/prog/op/ConstRewriter.java