test_class.declarator: FACTORY = new ValueFactoryImpl()
test_class.modifier: private static final
test_class.original_string: private static final ValueFactoryImpl FACTORY = new ValueFactoryImpl();
test_class.type: ValueFactoryImpl
test_class.var_name: FACTORY
test_class.file: series/src/test/java/com/barchart/feed/series/SpanImplTest.java
test_class.identifier: SpanImplTest
test_case.body: @Test
      public void testIntersection() {
  		final DateTime t = new DateTime(2013, 12, 11, 8, 0, 0);
  		final DateTime t2 = new DateTime(2013, 12, 11, 13, 0, 0);
          final SpanImpl newSpan = new SpanImpl(Period.ONE_HOUR, t, t2);
  
  		final DateTime t3 = new DateTime(2013, 12, 11, 12, 0, 0);
  		final DateTime t4 = new DateTime(2013, 12, 11, 16, 0, 0);
          final SpanImpl newSpan2 = new SpanImpl(Period.ONE_HOUR, t3, t4);
  
          final SpanImpl inter = newSpan.intersection(newSpan2);
  		assertEquals(t3, inter.getDate());
  		assertEquals(t2, inter.getNextDate());
      }
test_case.class_method_signature: SpanImplTest.testIntersection()
test_case.full_signature: @Test public void testIntersection()
test_case.identifier: testIntersection
test_case.invocations: intersection assertEquals getDate assertEquals getNextDate
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIntersection()
focal_class.declarator: nextDate
focal_class.modifier: private
focal_class.original_string: private DateTime nextDate;
focal_class.type: DateTime
focal_class.var_name: nextDate
focal_class.declarator: INITIAL = new SpanImpl(
  		new SpanImpl(Period.DAY,
  			new DateTime(1980, 1, 1, 0, 0, 0),
  				new DateTime(1980, 1, 1, 0, 0, 0)))
focal_class.modifier: public static
focal_class.original_string: public static SpanImpl INITIAL = new SpanImpl(
  		new SpanImpl(Period.DAY,
  			new DateTime(1980, 1, 1, 0, 0, 0),
  				new DateTime(1980, 1, 1, 0, 0, 0)));
focal_class.type: SpanImpl
focal_class.var_name: INITIAL
focal_class.file: series/src/main/java/com/barchart/feed/series/SpanImpl.java
focal_class.identifier: SpanImpl
focal_class.interfaces: implements Span
focal_class.class_method_signature: SpanImpl.SpanImpl(Period period, DateTime d, DateTime next)
focal_class.full_signature: public  SpanImpl(Period period, DateTime d, DateTime next)
focal_class.identifier: SpanImpl
focal_class.modifiers: public
focal_class.parameters: (Period period, DateTime d, DateTime next)
focal_class.signature:  SpanImpl(Period period, DateTime d, DateTime next)
focal_class.class_method_signature: SpanImpl.SpanImpl(SpanImpl other)
focal_class.full_signature: public  SpanImpl(SpanImpl other)
focal_class.identifier: SpanImpl
focal_class.modifiers: public
focal_class.parameters: (SpanImpl other)
focal_class.signature:  SpanImpl(SpanImpl other)
focal_class.class_method_signature: SpanImpl.setSpan(SpanImpl other)
focal_class.full_signature: public void setSpan(SpanImpl other)
focal_class.identifier: setSpan
focal_class.modifiers: public
focal_class.parameters: (SpanImpl other)
focal_class.return: void
focal_class.signature: void setSpan(SpanImpl other)
focal_class.class_method_signature: SpanImpl.compareTo(E other)
focal_class.full_signature: @Override public int compareTo(E other)
focal_class.identifier: compareTo
focal_class.modifiers: @Override public
focal_class.parameters: (E other)
focal_class.return: int
focal_class.signature: int compareTo(E other)
focal_class.class_method_signature: SpanImpl.setNextDate(DateTime dt)
focal_class.full_signature: public void setNextDate(DateTime dt)
focal_class.identifier: setNextDate
focal_class.modifiers: public
focal_class.parameters: (DateTime dt)
focal_class.return: void
focal_class.signature: void setNextDate(DateTime dt)
focal_class.class_method_signature: SpanImpl.getNextDate()
focal_class.full_signature: @Override public DateTime getNextDate()
focal_class.identifier: getNextDate
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: DateTime
focal_class.signature: DateTime getNextDate()
focal_class.class_method_signature: SpanImpl.getNextIndex()
focal_class.full_signature: @Override public int getNextIndex()
focal_class.identifier: getNextIndex
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNextIndex()
focal_class.class_method_signature: SpanImpl.getIndex()
focal_class.full_signature: @Override public int getIndex()
focal_class.identifier: getIndex
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getIndex()
focal_class.class_method_signature: SpanImpl.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: SpanImpl.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: SpanImpl.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: SpanImpl.extendsSpan(T span)
focal_class.full_signature: @Override public boolean extendsSpan(T span)
focal_class.identifier: extendsSpan
focal_class.modifiers: @Override public
focal_class.parameters: (T span)
focal_class.return: boolean
focal_class.signature: boolean extendsSpan(T span)
focal_class.class_method_signature: SpanImpl.union(T span)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public T union(T span)
focal_class.identifier: union
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (T span)
focal_class.return: T
focal_class.signature: T union(T span)
focal_class.class_method_signature: SpanImpl.intersection(T span)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public T intersection(T span)
focal_class.identifier: intersection
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (T span)
focal_class.return: T
focal_class.signature: T intersection(T span)
focal_class.superclass: extends DataPointImpl
focal_method.body: @SuppressWarnings("unchecked")
  	@Override
  	public <T extends Span> T intersection(T span) {
  
  		if ((!(span.getDate().getMillis() < nextDate.getMillis())) &&
  				(!(date.getMillis() < span.getNextDate().getMillis()))) {
  			return null;
  		}
  		DateTime start = null;
  		DateTime end = null;
  		start = this.date.getMillis() < span.getDate().getMillis() ? span.getDate() : this.date;
  		end = this.nextDate.getMillis() < span.getNextDate().getMillis() ? this.nextDate : span.getNextDate();
  
  		return (T) new SpanImpl(span.getPeriod(), start, end);
  
  	}
focal_method.class_method_signature: SpanImpl.intersection(T span)
focal_method.full_signature: @SuppressWarnings("unchecked") @Override public T intersection(T span)
focal_method.identifier: intersection
focal_method.invocations: getMillis getDate getMillis getMillis getMillis getNextDate getMillis getMillis getDate getDate getMillis getMillis getNextDate getNextDate getPeriod
focal_method.modifiers: @SuppressWarnings("unchecked") @Override public
focal_method.parameters: (T span)
focal_method.return: T
focal_method.signature: T intersection(T span)