public static boolean isSubtitlesExists(File file, DLNAMediaInfo media, boolean usecache) { boolean found = false; if (file.exists()) { found = browseFolderForSubtitles(file.getParentFile(), file, media, usecache); } String alternate = PMS.getConfiguration().getAlternateSubtitlesFolder(); if (isNotBlank(alternate)) { // https://code.google.com/p/ps3mediaserver/issues/detail?id=737#c5 File subFolder = new File(alternate); if (!subFolder.isAbsolute()) { subFolder = new File(file.getParent() + "/" + alternate); try { subFolder = subFolder.getCanonicalFile(); } catch (IOException e) { LOGGER.debug("Caught exception", e); } } if (subFolder.exists()) { found = found || browseFolderForSubtitles(subFolder, file, media, usecache); } } return found; }