test_class.file: api/src/test/java/com/barchart/feed/api/series/ExtendedChronologyTest.java
test_class.identifier: ExtendedChronologyTest
test_case.body: @Test
  	public void testWithPeriodStart() {
  		DateTime testDate = new DateTime(2009, 5, 1, 0, 0, 0, 0);//Friday, May 1st
  		DateTime adjustedDate = ExtendedChronology.withPeriodStart(testDate);
  		assertEquals("2009-04-01T00:00:00.000", noZone(adjustedDate.toString()));
  		
  		testDate = new DateTime(2009, 3, 27, 0, 0, 0, 0);//Friday, May 1st
  		adjustedDate = ExtendedChronology.withPeriodStart(testDate);
  		assertEquals("2009-01-01T00:00:00.000", noZone(adjustedDate.toString()));
  	}
test_case.class_method_signature: ExtendedChronologyTest.testWithPeriodStart()
test_case.full_signature: @Test public void testWithPeriodStart()
test_case.identifier: testWithPeriodStart
test_case.invocations: withPeriodStart assertEquals noZone toString withPeriodStart assertEquals noZone toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWithPeriodStart()
focal_class.declarator: INSTANCE_UTC
focal_class.modifier: private static final
focal_class.original_string: private static final ExtendedChronology INSTANCE_UTC;
focal_class.type: ExtendedChronology
focal_class.var_name: INSTANCE_UTC
focal_class.declarator: FAST_CACHE_SIZE = 64
focal_class.modifier: private static final
focal_class.original_string: private static final int FAST_CACHE_SIZE = 64;
focal_class.type: int
focal_class.var_name: FAST_CACHE_SIZE
focal_class.declarator: cFastCache
focal_class.modifier: private static final
focal_class.original_string: private static final ExtendedChronology[] cFastCache;
focal_class.type: ExtendedChronology[]
focal_class.var_name: cFastCache
focal_class.declarator: cCache = new HashMap<DateTimeZone, Chronology>()
focal_class.modifier: private static final
focal_class.original_string: private static final Map<DateTimeZone, Chronology> cCache = new HashMap<DateTimeZone, Chronology>();
focal_class.type: Map<DateTimeZone, Chronology>
focal_class.var_name: cCache
focal_class.file: api/src/main/java/com/barchart/feed/api/series/ExtendedChronology.java
focal_class.identifier: ExtendedChronology
focal_class.class_method_signature: ExtendedChronology.getInstanceUTC()
focal_class.full_signature: public static ExtendedChronology getInstanceUTC()
focal_class.identifier: getInstanceUTC
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ExtendedChronology
focal_class.signature: ExtendedChronology getInstanceUTC()
focal_class.class_method_signature: ExtendedChronology.getInstance()
focal_class.full_signature: public static ExtendedChronology getInstance()
focal_class.identifier: getInstance
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ExtendedChronology
focal_class.signature: ExtendedChronology getInstance()
focal_class.class_method_signature: ExtendedChronology.getInstance(DateTimeZone zone)
focal_class.full_signature: public static ExtendedChronology getInstance(DateTimeZone zone)
focal_class.identifier: getInstance
focal_class.modifiers: public static
focal_class.parameters: (DateTimeZone zone)
focal_class.return: ExtendedChronology
focal_class.signature: ExtendedChronology getInstance(DateTimeZone zone)
focal_class.class_method_signature: ExtendedChronology.getQuarter(DateTime dt)
focal_class.full_signature: public static int getQuarter(DateTime dt)
focal_class.identifier: getQuarter
focal_class.modifiers: public static
focal_class.parameters: (DateTime dt)
focal_class.return: int
focal_class.signature: int getQuarter(DateTime dt)
focal_class.class_method_signature: ExtendedChronology.withPeriodStart(DateTime dt)
focal_class.full_signature: public static DateTime withPeriodStart(DateTime dt)
focal_class.identifier: withPeriodStart
focal_class.modifiers: public static
focal_class.parameters: (DateTime dt)
focal_class.return: DateTime
focal_class.signature: DateTime withPeriodStart(DateTime dt)
focal_class.class_method_signature: ExtendedChronology.withPeriodEnd(DateTime dt)
focal_class.full_signature: public static DateTime withPeriodEnd(DateTime dt)
focal_class.identifier: withPeriodEnd
focal_class.modifiers: public static
focal_class.parameters: (DateTime dt)
focal_class.return: DateTime
focal_class.signature: DateTime withPeriodEnd(DateTime dt)
focal_class.class_method_signature: ExtendedChronology.ExtendedChronology(Chronology base)
focal_class.full_signature: private  ExtendedChronology(Chronology base)
focal_class.identifier: ExtendedChronology
focal_class.modifiers: private
focal_class.parameters: (Chronology base)
focal_class.signature:  ExtendedChronology(Chronology base)
focal_class.class_method_signature: ExtendedChronology.withUTC()
focal_class.full_signature: public Chronology withUTC()
focal_class.identifier: withUTC
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Chronology
focal_class.signature: Chronology withUTC()
focal_class.class_method_signature: ExtendedChronology.withZone(DateTimeZone zone)
focal_class.full_signature: public Chronology withZone(DateTimeZone zone)
focal_class.identifier: withZone
focal_class.modifiers: public
focal_class.parameters: (DateTimeZone zone)
focal_class.return: Chronology
focal_class.signature: Chronology withZone(DateTimeZone zone)
focal_class.class_method_signature: ExtendedChronology.quarters()
focal_class.full_signature: public DurationField quarters()
focal_class.identifier: quarters
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DurationField
focal_class.signature: DurationField quarters()
focal_class.class_method_signature: ExtendedChronology.toString()
focal_class.full_signature: public String toString()
focal_class.identifier: toString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: ExtendedChronology.assemble(Fields fields)
focal_class.full_signature: protected void assemble(Fields fields)
focal_class.identifier: assemble
focal_class.modifiers: protected
focal_class.parameters: (Fields fields)
focal_class.return: void
focal_class.signature: void assemble(Fields fields)
focal_class.class_method_signature: ExtendedChronology.equals(Object obj)
focal_class.full_signature: public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: ExtendedChronology.hashCode()
focal_class.full_signature: public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ExtendedChronology.writeReplace()
focal_class.full_signature: private Object writeReplace()
focal_class.identifier: writeReplace
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Object
focal_class.signature: Object writeReplace()
focal_class.superclass: extends AssembledChronology
focal_method.body: public static DateTime withPeriodStart(DateTime dt) {
          int div = (dt.getMonthOfYear() % 3);
          int d = dt.getMonthOfYear() - Math.max(0, ((div == 0 ? 3 : div) - 1));
          dt = dt.withMonthOfYear(d);
          long millis = PeriodType.QUARTER.getComparator().getLowerLimit().getField(
          	getInstance()).roundFloor(dt.getMillis());
      	return new DateTime(millis);
      }
focal_method.class_method_signature: ExtendedChronology.withPeriodStart(DateTime dt)
focal_method.full_signature: public static DateTime withPeriodStart(DateTime dt)
focal_method.identifier: withPeriodStart
focal_method.invocations: getMonthOfYear getMonthOfYear max withMonthOfYear roundFloor getField getLowerLimit getComparator getInstance getMillis
focal_method.modifiers: public static
focal_method.parameters: (DateTime dt)
focal_method.return: DateTime
focal_method.signature: DateTime withPeriodStart(DateTime dt)