public override bool While(Predicate<BaseRecord> action) { if (!base.While(action)) { return false; } return this.Records.Cast<BaseRecord>().All(r => r.While(action)); }