What have you got against the new
keyword when you want to create a new object?
You can simplify the code as:
List<DataSource> dataSources = Array.asList(
new DataSourceOne(),
new DataSourceTwo(),
...
);
Although it has some uses, using reflection is almost always a really bad idea.