question: protected DateTimeData parse ( String str ) throws SchemaDateTimeException { DateTimeData date = new DateTimeData ( str , this ) ; int len = str . length ( ) ; if ( str . charAt ( 0 ) != '-' || str . charAt ( 1 ) != '-' || str . charAt ( 2 ) != '-' ) { throw new SchemaDateTimeException ( "Error in day parsing" ) ; } date . year = YEAR ; date . month = MONTH ; date . day = parseInt ( str , 3 , 5 ) ; if ( DAY_SIZE < len ) { if ( ! isNextCharUTCSign ( str , DAY_SIZE , len ) ) { throw new SchemaDateTimeException ( "Error in day parsing" ) ; } else { getTimeZone ( str , date , DAY_SIZE , len ) ; } } validateDateTime ( date ) ; saveUnnormalized ( date ) ; if ( date . utc != 0 && date . utc != 'Z' ) { normalize ( date ) ; } date . position = 2 ; return date ; }
target:  Parses, validates and computes normalized version of gDay object