inclusiveUpper = false;
}
else
throw new IllegalStateException();
ContinuousRealInterval wzRestriction, nzRestriction;
{
final ContinuousRealInterval restriction = new ContinuousRealInterval( lower, upper,
inclusiveLower, inclusiveUpper );
if( c.getTimezone() == DatatypeConstants.FIELD_UNDEFINED ) {
nzRestriction = restriction;
wzRestriction = zoneShrink( nzRestriction );
}
else {
wzRestriction = restriction;
nzRestriction = zoneShrink( wzRestriction );
}
}
boolean changes = false;
final List<ContinuousRealInterval> revisedWz = new ArrayList<ContinuousRealInterval>();
if( wzRestriction == null ) {
changes = wzIntervals.isEmpty();
}
else {
for( ContinuousRealInterval i : wzIntervals ) {
final ContinuousRealInterval j = i.intersection( wzRestriction );
if( j != null ) {
revisedWz.add( j );
if( i != j )
changes = true;
}
else
changes = true;
}
}
final List<ContinuousRealInterval> revisedNz = new ArrayList<ContinuousRealInterval>();
if( nzRestriction == null ) {
changes |= nzIntervals.isEmpty();
}
else {
for( ContinuousRealInterval i : nzIntervals ) {
final ContinuousRealInterval j = i.intersection( nzRestriction );
if( j != null ) {
revisedNz.add( j );
if( i != j )
changes = true;
}