Fixing compile issues with VS2010 by using a temp IDataArray variable instead of inlining every thing. The root of the compile errors that were produced was the inline of a shared_ptr to weak_ptr to shared_ptr conversion that was causing internal compiler errors on VS2010