Table headers are getting reordered automatically

Hi,

I have created a table which has few columns in it. i have given header names for each column.
After table initialization i see that column are not appearing in the order in which they are added in table. Column names are reordered alphabetically.
Please find below the code of the same.

private Table createGridTable() {
		Table grid = new FilterAndPagedTable(this.generateTableOptions());
		grid.addContainerProperty("previousPeriod", String.class, null);
		grid.addContainerProperty("prevchannelA", Float.class, null);
		grid.addContainerProperty("presentPeriod", String.class, null);
		grid.addContainerProperty("presentchannelA", Float.class, null);
		grid.addContainerProperty("diffOfPrevNPresent", Float.class, null);
		grid.addContainerProperty("percentageChangeOfPrevNPresent", String.class, null);

		grid.setColumnHeader("previousPeriod", PrevYearConstants.PREVIOUS_PERIOD);
		grid.setColumnHeader("prevchannelA", IemsConstants.A_DC_Power);
		grid.setColumnHeader("presentPeriod", PrevYearConstants.PRESENT_PERIOD);
		grid.setColumnHeader("presentchannelA", IemsConstants.A_DC_Power);
		grid.setColumnHeader("diffOfPrevNPresent", PrevYearConstants.DIFFERENCE);
		grid.setColumnHeader("percentageChangeOfPrevNPresent", PrevYearConstants.PERCENTAGE);
		System.out.println(grid.isSortAscending());
		System.out.println(grid.isSortEnabled());
		grid.setVisibleColumns(new Object[] { "previousPeriod", "prevchannelA", "presentPeriod", "presentchannelA",
				"diffOfPrevNPresent", "percentageChangeOfPrevNPresent" });

		grid.setSizeFull();
		return grid;
	}

After table initialization the order of column are different.
I am initializing table as shown below.

List<PrevYearConsumption> tableContainer = viewElements.get(PrevYearConstants.PREV_YEAR_TABLE_CONFIG)
						.getTableContainer();
				this.grid.setContainerDataSource(new BeanItemContainer(PrevYearConsumption.class, tableContainer));

Please let me know in case any more info is required to explain the issue.
Please help here.

Thanks in advance.