public BusinessDayAdjustments readBusinessDayAdjustments(XMLStreamReader2 streamReader) throws XMLStreamException {
    BusinessDayConventionEnum businessDayConvention = null;
    List<String> businessCenters = null;
    int startingDepth = streamReader.getDepth();
    while(streamReader.hasNext()) {
      switch(streamReader.next()) {
        case XMLEvent.START_ELEMENT:
          String localName = streamReader.getLocalName();
          if("businessDayConvention".equals(localName)) {
            businessDayConvention = BusinessDayConventionEnum.fromValue(FpmlParser.readText(streamReader));
          }
          if("businessCenter".equals(localName)) {
            if(businessCenters == null) {
              businessCenters = new ArrayList<String>();
            }
            businessCenters.add(FpmlParser.readText(streamReader));
          }
          break;
        case XMLEvent.END_ELEMENT:
          if(streamReader.getDepth() == startingDepth) {
            return new BusinessDayAdjustments(businessDayConvention, businessCenters == null ? null : businessCenters.toArray(new String[businessCenters.size()]));
          }
      }
    }
    throw new PricerException("No more events before element finished");
  }