@Override
 public void endElement(String uri, String name, String qName) {
   if (qName.equals("AccessKeyId")) {
     builder.accessKeyId(currentOrNull(currentText));
   } else if (qName.equals("SecretAccessKey")) {
     builder.secretAccessKey(currentOrNull(currentText));
   } else if (qName.equals("SessionToken")) {
     builder.sessionToken(currentOrNull(currentText));
   } else if (qName.equals("Expiration")) {
     try {
       builder.expiration(dateService.iso8601SecondsDateParse(currentOrNull(currentText)));
     } catch (IllegalArgumentException e) {
       builder.expiration(dateService.iso8601DateParse(currentOrNull(currentText)));
     }
   }
   currentText.setLength(0);
 }
 @Override
 public SessionCredentials getResult() {
   try {
     return builder.build();
   } finally {
     builder = SessionCredentials.builder();
   }
 }