//# __________ PROTOCOL :: INSTANCE CREATION __________ #//
 public static JwTimestampInterval Create(JwTimestamp start, JwTimestamp end)
 {
     JwTimestampInterval ti;
     ti = new JwTimestampInterval();
     ti.SetStart(start);
     ti.SetEnd(end);
     return ti;
 }
 public bool ContainsExclusive(JwTimestampInterval ti)
 {
     if ( ti == null ) return false;
     return ContainsExclusive(ti.GetStart()) &&
         ContainsExclusive(ti.GetEnd());
 }
 public bool Contains(JwTimestampInterval ti)
 {
     return ContainsInclusive(ti);
 }
 public bool Intersects(JwTimestampInterval ti)
 {
     if ( ti == null ) return false;
     if ( Contains(ti.GetStart()) ) return true;
     if ( Contains(ti.GetEnd()) )   return true;
     if ( ti.Contains(GetStart()) ) return true;
     return false;
 }
 //# __________ PROTOCOL :: COPY __________ #//
 public JwTimestampInterval GetTimestampIntervalCopy()
 {
     JwTimestampInterval e;
     e = new JwTimestampInterval();
     if ( HasStart() ) e.SetStart(GetStart().GetTimestampCopy());
     if ( HasEnd() )   e.SetEnd(GetEnd().GetTimestampCopy());
     return e;
 }