private boolean parseZoneLine(Scanner s,List<TZDBZone> zoneList){
  TZDBZone zone=new TZDBZone();
  zoneList.add(zone);
  zone.standardOffset=parseOffset(s.next());
  String savingsRule=parseOptional(s.next());
  if (savingsRule == null) {
    zone.fixedSavingsSecs=0;
    zone.savingsRule=null;
  }
 else {
    try {
      zone.fixedSavingsSecs=parsePeriod(savingsRule);
      zone.savingsRule=null;
    }
 catch (    Exception ex) {
      zone.fixedSavingsSecs=null;
      zone.savingsRule=savingsRule;
    }
  }
  zone.text=s.next();
  if (s.hasNext()) {
    zone.year=Integer.parseInt(s.next());
    if (s.hasNext()) {
      parseMonthDayTime(s,zone);
    }
    return false;
  }
 else {
    return true;
  }
}

private boolean parseZoneLine ( Scanner s , List < TZDBZone > zoneList ) { TZDBZone zone = new TZDBZone ( ) ; zoneList . add ( zone ) ; zone . standardOffset = parseOffset ( s . next ( ) ) ; String savingsRule = parseOptional ( s . next ( ) ) ; if ( savingsRule == null ) { zone . fixedSavingsSecs = 0 ; zone . savingsRule = null ; } else { try { zone . fixedSavingsSecs = parsePeriod ( savingsRule ) ; zone . savingsRule = null ; } catch ( Exception ex ) { zone . fixedSavingsSecs = null ; zone . savingsRule = savingsRule ; } } zone . text = s . next ( ) ; if ( s . hasNext ( ) ) { zone . year = Integer . parseInt ( s . next ( ) ) ; if ( s . hasNext ( ) ) { parseMonthDayTime ( s , zone ) ; } return false ; } else { return true ; } }
parses a zone line .
