code: private static com.ftinc.kit.attributr.model.Library readLibrary(XmlPullParser parser) throws IOException, XmlPullParserException {
          parser.require(XmlPullParser.START_TAG, null, TAG_LIBRARY);
          com.ftinc.kit.attributr.model.Library lib = new com.ftinc.kit.attributr.model.Library();
  
          // Pull attribute
          String license = parser.getAttributeValue(null, ATTR_LICENSE);
          lib.license = com.ftinc.kit.attributr.model.License.fromKey(license);
  
          // Pull children
          while(parser.next() != XmlPullParser.END_TAG){
              if (parser.getEventType() != XmlPullParser.START_TAG) {
                  continue;
              }
              String name = parser.getName();
              switch (name){
                  case TAG_NAME:
                      lib.name = readTextTag(parser, TAG_NAME);
                      break;
                  case TAG_AUTHOR:
                      lib.author = readTextTag(parser, TAG_AUTHOR);
                      break;
                  case TAG_YEAR:
                      lib.year = readTextTag(parser, TAG_YEAR);
                      break;
                  case TAG_EMAIL:
                      lib.email = readTextTag(parser, TAG_EMAIL);
                      break;
                  case TAG_DESCRIPTION:
                      lib.description = readTextTag(parser, TAG_DESCRIPTION);
                      break;
                  case TAG_URL:
                      lib.url = readTextTag(parser, TAG_URL);
                      break;
                  default:
                      skip(parser);
              }
  
          }
  
          return lib;
      }
docs: Read an XML defined Library object
  
  @param parser        the pull parser
  @return              the parsed Library object
  
  @throws IOException              if there was a problem reading the file
  @throws XmlPullParserException   if there was a problem parsing the library