code: private List<String> splitRRULEValues(String value) {
  		List<String> values = new ArrayList<String>();
  		Pattern p = Pattern.compile("#\\d+|\\d{8}T\\d{6}Z?");
  		Matcher m = p.matcher(value);
  
  		int prevIndex = 0;
  		while (m.find()) {
  			int end = m.end();
  			String subValue = value.substring(prevIndex, end).trim();
  			values.add(subValue);
  			prevIndex = end;
  		}
  		String subValue = value.substring(prevIndex).trim();
  		if (subValue.length() > 0) {
  			values.add(subValue);
  		}
  
  		return values;
  	}
docs: Version 1.0 allows multiple RRULE values to be defined inside of the same
  property. This method extracts each RRULE value from the property value.
  @param value the property value
  @return the RRULE values