protected void complete(){
  if (!isTimeSet) {
    computeTime();
    isTimeSet=true;
  }
  if (!areFieldsSet) {
    computeFields();
    areFieldsSet=true;
  }
}

protected void complete ( ) { if ( ! isTimeSet ) { computeTime ( ) ; isTimeSet = true ; } if ( ! areFieldsSet ) { computeFields ( ) ; areFieldsSet = true ; } }
computes the time from the fields if the time has not already been set . computes the fields from the time if the fields are not already set .
