Team area creation, is it possible programmatically?

I am developing a component which needs creation of team area and when I do that, am unable to add to the hierarchy.
I get an exception, ImmutablePropertyException. Are there any steps missed out here?
Here is the code snippet:
I get an exception, ImmutablePropertyException. Are there any steps missed out here?
Here is the code snippet:
ITeamArea teamArea = (ITeamArea) ITeamArea.ITEM_TYPE.createItem();
teamArea.setName(teamAreaName);
teamArea.setProjectArea(projectArea);
IDescription description = teamArea.getDescription();
description.setSummary("Programmatic Creation");
//get hierarchy....
hierarchy.addChild(parentTA, teamArea);//fails here