- return new Repeat(element.build(bc), zero, many, separator==null?null:separator.build(bc), maximal);
+ return maximal
+ ? new Repeat.Maximal(element.build(bc), zero, many, separator==null?null:separator.build(bc), null)
+ : new Repeat(element.build(bc), zero, many, separator==null?null:separator.build(bc), null);