class ActivationTime {

    public boolean overlaps(final ActivationTime other) {
        final Date max = findMaxDate(start, other.start);
        final Date min = findMinDate(end, other.end);

        if (min == null || max == null) {
            return true;
        } else {
            return min.compareTo(max) >= 0;
        }
    }

    public  ActivationTime(final Date start,
                          final Date end);

}