test_class.declarator: logger = LoggerFactory.getLogger(CountryUtilTest.class)
test_class.modifier: private static final
test_class.original_string: private static final Logger logger = LoggerFactory.getLogger(CountryUtilTest.class);
test_class.type: Logger
test_class.var_name: logger
test_class.file: ch-commons-locale/src/test/java/com/cloudhopper/commons/locale/CountryUtilTest.java
test_class.identifier: CountryUtilTest
test_case.body: @Test(expected=IOException.class)
      public void parse3() throws Exception {
          Country c = Country.parse("AA AAA 123");
      }
test_case.class_method_signature: CountryUtilTest.parse3()
test_case.full_signature: @Test(expected=IOException.class) public void parse3()
test_case.identifier: parse3
test_case.invocations: parse
test_case.modifiers: @Test(expected=IOException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void parse3()
focal_class.declarator: logger = LoggerFactory.getLogger(CountryUtil.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(CountryUtil.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: byIso2
focal_class.modifier: private static
focal_class.original_string: private static HashMap<String,Country> byIso2;
focal_class.type: HashMap<String,Country>
focal_class.var_name: byIso2
focal_class.declarator: byName
focal_class.modifier: private static
focal_class.original_string: private static ArrayList<Country> byName;
focal_class.type: ArrayList<Country>
focal_class.var_name: byName
focal_class.file: ch-commons-locale/src/main/java/com/cloudhopper/commons/locale/CountryUtil.java
focal_class.identifier: CountryUtil
focal_class.class_method_signature: CountryUtil.CountryUtil()
focal_class.full_signature: private  CountryUtil()
focal_class.identifier: CountryUtil
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  CountryUtil()
focal_class.class_method_signature: CountryUtil.lookupByIso2(String iso2)
focal_class.full_signature: public static Country lookupByIso2(String iso2)
focal_class.identifier: lookupByIso2
focal_class.modifiers: public static
focal_class.parameters: (String iso2)
focal_class.return: Country
focal_class.signature: Country lookupByIso2(String iso2)
focal_class.class_method_signature: CountryUtil.parse(InputStream is)
focal_class.full_signature: public static ArrayList<Country> parse(InputStream is)
focal_class.identifier: parse
focal_class.modifiers: public static
focal_class.parameters: (InputStream is)
focal_class.return: ArrayList<Country>
focal_class.signature: ArrayList<Country> parse(InputStream is)
focal_class.class_method_signature: CountryUtil.getCountriesByName()
focal_class.full_signature: public static List<Country> getCountriesByName()
focal_class.identifier: getCountriesByName
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: List<Country>
focal_class.signature: List<Country> getCountriesByName()
focal_method.body: public static ArrayList<Country> parse(InputStream is) throws IOException {
          // convert into a buffered reader
          BufferedReader in =  new BufferedReader(new InputStreamReader(is));
          String line = null; //not declared within while loop
          ArrayList<Country> c = new ArrayList<Country>();
          /*
           * readLine is a bit quirky :
           * it returns the content of a line MINUS the newline.
           * it returns null only for the END of the stream.
           * it returns an empty String if two newlines appear in a row.
           */
          while ((line = in.readLine()) != null) {
              if (!line.equals("") && !line.startsWith("#")) {
                  // this is a country we need to parse
                  // AF AFG 004 Afghanistan
                  c.add(Country.parse(line));
              }
          }
          return c;
      }
focal_method.class_method_signature: CountryUtil.parse(InputStream is)
focal_method.full_signature: public static ArrayList<Country> parse(InputStream is)
focal_method.identifier: parse
focal_method.invocations: readLine equals startsWith add parse
focal_method.modifiers: public static
focal_method.parameters: (InputStream is)
focal_method.return: ArrayList<Country>
focal_method.signature: ArrayList<Country> parse(InputStream is)