DateTime lowerLimit = iLowerLimit;
if (lowerLimit != null) {
MutableDateTime mdt = lowerLimit.toMutableDateTime();
mdt.setZoneRetainFields(zone);
lowerLimit = mdt.toDateTime();
}
DateTime upperLimit = iUpperLimit;
if (upperLimit != null) {
MutableDateTime mdt = upperLimit.toMutableDateTime();