Ordering is not guarenteed by the getFields() method anyways. So you can use a simple arraylist. Return interfaces always