public IEnumerable <IStateNode> GetChilds() { return(_root.TargetServer.RunningVMs .Where(vm => !vm.IsMigrating) .Where(vm => Changes.All(record => record.Target.Id != vm.Id)) .OrderByDescending((vm) => vm.Resources.GetValue()) .Take(MigrationParams.Current.MaxMigrateCandidatesPerStep) // GlobalConstants.VM_PER_SERVER .SelectMany((vm) => CreateChildNodes(vm))); }