}
public boolean hasSameBehavior(Object a, Object b)
{
GregorianCalendar cal = new GregorianCalendar();
TimeZoneAdapter tza_a = (TimeZoneAdapter) a;
TimeZoneAdapter tza_b = (TimeZoneAdapter) b;
int a_offset, b_offset;
boolean a_dst, b_dst;
boolean bSame = true;
for (int i = 0; i < sampleTimes.length; i++) {
cal.setTimeInMillis(sampleTimes[i]);
int era = cal.get(Calendar.ERA);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int dow = cal.get(Calendar.DAY_OF_WEEK);
int mid = cal.get(Calendar.MILLISECONDS_IN_DAY);
a_offset = tza_a.getOffset(era, year, month, day, dow, mid);
b_offset = tza_b.getOffset(era, year, month, day, dow, mid);
Date d = new Date(sampleTimes[i]);
a_dst = tza_a.inDaylightTime(d);
b_dst = tza_b.inDaylightTime(d);
if (a_offset != b_offset || a_dst != b_dst) {
bSame = false;
break;
}
}