public Comment(Line[] lines, Predicate<Comment> condition, Action<Comment> action, params Comment[] next) { this.action = action; this.nextSupply = next != null ? next.Shuffle().ToList() : null; this.lines = lines.Shuffle().ToList(); this.condition = condition; this.Reset(); }