boolean toUpper = true;
    public static void main(String[] argv) {        Debug.init();        boolean toUpper = true;        ArgParser ap = new ArgParser("EsriShapeExport");        ap.add("shp", "A URL to a shape file (.shp).", 1);        if (argv.length < 1) {            ap.bail("", true);        }        ap.parse(argv);        String[] files = ap.getArgValues("shp");        if (files != null && files[0] != null) {            String shp = files[0];            String shx = null;            String dbf = null;            try {                shx = shp.substring(0, shp.lastIndexOf('.') + 1) + PARAM_SHX;                dbf = shp.substring(0, shp.lastIndexOf('.') + 1) + PARAM_DBF;                DbfTableModel model = DbfTableModel.getDbfTableModel(PropUtils.getResourceOrFileOrURL(null,                        dbf));                EsriGraphicList list = EsriGraphicList.getEsriGraphicList(PropUtils.getResourceOrFileOrURL(null,                        shp),                        PropUtils.getResourceOrFileOrURL(null, shx),                        null,                        null);                Debug.output(list.getDescription());                EsriShapeExport ese = new EsriShapeExport(list, model, null);                ese.export();            } catch (MalformedURLException murle) {                Debug.error("EsriShapeExport: Malformed URL Exception\n"                        + murle.getMessage());            } catch (NullPointerException npe) {                Debug.error("EsriShapeExport: Path to shape file isn't good enough to find .dbf file and .shx file.");            } catch (Exception exception) {                Debug.error("EsriShapeExport: Exception\n"                        + exception.getMessage());                exception.printStackTrace();            }        } else {            ap.bail("Need a path to a Shape file (.shp)", true);        }        System.exit(0);    }