public DXFFeatureReader(
      URL url, String typeName, String srs, GeometryType geometryType, ArrayList dxfInsertsFilter)
      throws IOException, DXFParseException {
    CountingInputStream cis = null;
    DXFLineNumberReader lnr = null;

    try {
      cis = new CountingInputStream(url.openStream());
      lnr = new DXFLineNumberReader(new InputStreamReader(cis));
      theUnivers = new DXFUnivers(dxfInsertsFilter);
      theUnivers.read(lnr);
    } catch (IOException ioe) {
      log.error("Error reading data in datastore: ", ioe);
      throw ioe;
    } finally {
      if (lnr != null) {
        lnr.close();
      }
      if (cis != null) {
        cis.close();
      }
    }

    // Set filter point, line, polygon, defined in datastore typenames
    updateTypeFilter(typeName, geometryType, srs);
  }
  public ServiceInfo getInfo() {
    DefaultServiceInfo serviceInfo = new DefaultServiceInfo();
    serviceInfo.setTitle("DXF FeatureReader");
    serviceInfo.setDescription(theUnivers == null ? "Univers is null" : theUnivers.getInfo());

    return serviceInfo;
  }