MemoryDataStore memDS = new MemoryDataStore();
List<AttributeDescriptor> attrs = new ArrayList<AttributeDescriptor>();
attrs.addAll(typ.getAttributeDescriptors());
GeometryDescriptorImpl geom2Descr = new GeometryDescriptorImpl(typ.getGeometryDescriptor()
.getType(), new NameImpl("the_geom5"), typ.getGeometryDescriptor().getMinOccurs(),
typ.getGeometryDescriptor().getMaxOccurs(), typ.getGeometryDescriptor()
.isNillable(), typ.getGeometryDescriptor().getDefaultValue());
attrs.add(geom2Descr);
geom2Descr = new GeometryDescriptorImpl(typ.getGeometryDescriptor().getType(),
new NameImpl("the_geom10"), typ.getGeometryDescriptor().getMinOccurs(), typ
.getGeometryDescriptor().getMaxOccurs(), typ.getGeometryDescriptor()
.isNillable(), typ.getGeometryDescriptor().getDefaultValue());
attrs.add(geom2Descr);
geom2Descr = new GeometryDescriptorImpl(typ.getGeometryDescriptor().getType(),
new NameImpl("the_geom20"), typ.getGeometryDescriptor().getMinOccurs(), typ
.getGeometryDescriptor().getMaxOccurs(), typ.getGeometryDescriptor()
.isNillable(), typ.getGeometryDescriptor().getDefaultValue());
attrs.add(geom2Descr);
geom2Descr = new GeometryDescriptorImpl(typ.getGeometryDescriptor().getType(),
new NameImpl("the_geom50"), typ.getGeometryDescriptor().getMinOccurs(), typ
.getGeometryDescriptor().getMaxOccurs(), typ.getGeometryDescriptor()
.isNillable(), typ.getGeometryDescriptor().getDefaultValue());
attrs.add(geom2Descr);