class MyPlacesShapeFileExporter extends AbstractMyPlacesExporter {

    @Override
    public Collection<? extends File> getExportFiles(File file)
    {
        // Validate file extension (add if missing)
        String path = file.getAbsolutePath().toLowerCase();
        boolean found = false;
        String[] extensions = getMimeType().getFileExtensions();
        for (String extension : extensions)
        {
            if (path.endsWith("." + extension))
            {
                found = true;
                break;
            }
        }

        String base = found ? file.getAbsolutePath().substring(0, file.getAbsolutePath().length() - 4) : file.getAbsolutePath();

        Collection<File> results = New.collection(4);
        results.add(found ? file : new File(base + ESRIShapefile.POSTFIX_SHP));
        results.add(new File(base + ESRIShapefile.POSTFIX_DBF));
        results.add(new File(base + ESRIShapefile.POSTFIX_PRJ));
        results.add(new File(base + ESRIShapefile.POSTFIX_SHX));

        return results;
    }

}