private void buildFeatureTypeAndMapping( TableName table, QName ftName, FIDMapping fidMapping, List<JAXBElement<? extends AbstractParticleJAXB>> propDecls ) throws FeatureStoreException, SQLException { List<PropertyType> pts = new ArrayList<PropertyType>(); List<Mapping> mappings = new ArrayList<Mapping>(); for ( JAXBElement<? extends AbstractParticleJAXB> propDeclEl : propDecls ) { AbstractParticleJAXB propDecl = propDeclEl.getValue(); Pair<PropertyType, Mapping> pt = buildPropertyAndMapping( table, propDecl, ftName.getPrefix(), ftName.getNamespaceURI() ); pts.add( pt.first ); mappings.add( pt.second ); } FeatureType ft = new GenericFeatureType( ftName, pts, false ); ftNameToFt.put( ftName, ft ); FeatureTypeMapping ftMapping = new FeatureTypeMapping( ftName, table, fidMapping, mappings ); ftNameToMapping.put( ftName, ftMapping ); }