/// <summary> /// BuildItems are passed around internally, including across the wire. Before passing these /// to tasks, they need to be converted into TaskItems using this method. /// </summary> internal void ConvertToTaskItems() { // If outputsByTarget was null then we dont have to re-create anything as nothing was passed over if (null != outputsByTarget) { string[] keys = new string[outputsByTarget.Count]; outputsByTarget.Keys.CopyTo(keys, 0); for (int key_index = 0; key_index < keys.Length; key_index++) { object key = keys[key_index]; BuildItem[] originalArray = (BuildItem[])outputsByTarget[key]; outputsByTarget[key] = BuildItem.ConvertBuildItemArrayToTaskItems(originalArray); } } }