protected internal virtual bool IsTaboo(Operation op, Operation[] localTaboo) { if (localTaboo == null) return false; return localTaboo.Any(t => t != null && op.IsTaboo(t)); }