Streamed Asset Bundle Help

Im trying to Load a set of streamed asset bundles i created at run time.
However something seems to be missing from my code. Could someone please take a look?

//public void LoadLevelAdditively ()
 void Start()
 {
 //optimize this later as a for loop or whatever
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD0.unity3d");
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD1.unity3d");
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD2.unity3d");
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD3.unity3d");
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD4.unity3d");
 StreamedAssetBundlePathsList.Add(url + "Streamed-LOD5.unity3d");
 
 //Loop through the list and download the compressed asset bundles from the web server,
 //If the asset bundle was already downloaded and cached for any reason UNITY will skip this process
 
 foreach(string StreamedAssetBundle in StreamedAssetBundlePathsList)
 {
 var AssetBundleDownload = WWW.LoadFromCacheOrDownload(StreamedAssetBundle,5);
 
 //verify download
 if(AssetBundleDownload.error != null)
 {
  Debug.LogError (AssetBundleDownload.error);
  return;
 }
 
 //Load the current Asset Bundle into memory
 var bundle = AssetBundleDownload.assetBundle.name;
 
 //Additively Load the level into the scene
 Application.LoadLevelAdditive("CityLOD" + StreamedAssetBundlePathsList.IndexOf(StreamedAssetBundle)); //<--LOD(int) refers to the scene name
 
 }
 
 
 
 
 }

Answer: See the comment string. In a nutshell, it’s necessary to yield AssetBundle downloads before trying to load them.