POTResource extends ResourceFilter { @Override public LanguageBundle parse(InputStream inStream, FilterOptions options) throws IOException, ResourceFilterException { BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, CHAR_SET)); LanguageBundleBuilder bb = new LanguageBundleBuilder(true); String line, value; while ((line = reader.readLine()) != null) { value = extractMessage(line, reader); if (value == null || value.isEmpty()) { continue; } if (line.startsWith(UNTRANSLATED_STRING_PREFIX) || line.startsWith(UNTRANSLATED_PLURAL_STRING_PREFIX)) { bb.addResourceString(value, value); } } return bb.build(); }  @Override LanguageBundle parse(InputStream inStream, FilterOptions options); @Override void write(OutputStream outStream, LanguageBundle languageBundle,
            FilterOptions options); @Override void merge(InputStream baseStream, OutputStream outStream, LanguageBundle languageBundle,
            FilterOptions options);  }
@Test public void testParse() throws IOException, ResourceFilterException { assertTrue("The input test file <" + INPUT_FILE + "> does not exist.", INPUT_FILE.exists()); try (InputStream is = new FileInputStream(INPUT_FILE)) { LanguageBundle bundle = res.parse(is, null); List<ResourceString> resStrList = new ArrayList<>(bundle.getResourceStrings()); Collections.sort(resStrList, new ResourceStringComparator()); assertEquals("ResourceStrings did not match.", EXPECTED_INPUT_RES_LIST, resStrList); } }