### Question:
DpLayerVectorFeatureSourceShapefileEd extends
		DpLayerVectorFeatureSourceShapefile implements DpEditableInterface { static List<String> checkAttributeNames(URL url) throws IOException { ArrayList<String> illegalAttributeNames = new ArrayList<String>(); ShapefileDataStore store = new ShapefileDataStore(url); try { SimpleFeatureType schema2 = store.getSchema(); for (int aindex = 0; aindex < schema2.getAttributeCount(); aindex++) { AttributeDescriptor ad = schema2.getDescriptor(aindex); String localName = ad.getLocalName(); boolean ok = FeatureUtil .checkAttributeNameRestrictions(localName); if (!ok) illegalAttributeNames.add(aindex + ":" + localName); } } finally { store.dispose(); } return illegalAttributeNames; } DpLayerVectorFeatureSourceShapefileEd(AtlasConfig ac, URL url,
			Component owner); @Override File getSldFile(); @Override void setSldFile(File sldFile); @Override void copyFiles(URL urlToShape, Component owner, File targetDir,
			AtlasStatusDialogInterface status); AtlasConfigEditable getAce();  }### Answer:
@Test public void testImportArabicInHeader() throws AtlasException, FactoryException, TransformException, SAXException, IOException, ParserConfigurationException { URL url = GpTestingUtil.TestDatasetsVector.arabicInHeader.getUrl(); List<String> illegalAtts = DpLayerVectorFeatureSourceShapefileEd .checkAttributeNames(url); assertEquals(1, illegalAtts.size()); assertTrue(illegalAtts.get(0).startsWith("3:")); }