Changed type of rootTypes from Type[] to IEnumerable<Type>

Made it possible to pass other collections (e.g. List<Type>) to the Initialize methods by changing the type of the rootTypes argument from Type[] to IEnumerable<Type>.