class NativeFontDirFinder implements FontDirFinder
{

    private static final Logger LOG = LogManager.getLogger(NativeFontDirFinder.class);

    /**
     * Generic method used by Mac and Unix font finders.
     * 
     * @return list of natively existing font directories {@inheritDoc}
     */
    @Override
    public List<File> find()
    {<FILL_FUNCTION_BODY>}

    /**
     * Returns an array of directories to search for fonts in.
     * 
     * @return an array of directories
     */
    protected abstract String[] getSearchableDirectories();

}

        List<File> fontDirList = new java.util.ArrayList<>();
        String[] searchableDirectories = getSearchableDirectories();
        if (searchableDirectories != null)
        {
            for (String searchableDirectorie : searchableDirectories)
            {
                File fontDir = new File(searchableDirectorie);
                try
                {
                    if (fontDir.exists() && fontDir.canRead())
                    {
                        fontDirList.add(fontDir);
                    }
                }
                catch (SecurityException e)
                {
                    LOG.debug("Couldn't get native font directories - ignoring", e);
                    // should continue if this fails
                }
            }
        }
        return fontDirList;
    
<no_super_class>