private bool ParseSubComponent(CalendarReader calReader) { CalendarComponentBase calendarComponentBase = this.NewComponent(calReader); bool result; if (calendarComponentBase.Parse(calReader)) { if (this.ProcessSubComponent(calendarComponentBase)) { this.subComponents.Add(calendarComponentBase); result = true; } else { ExTraceGlobals.ICalTracer.TraceError <string>((long)this.GetHashCode(), "CalendarComponentBase::ParseSubComponent. Failed to process component: {0}", calendarComponentBase.componentName); result = false; } } else { ExTraceGlobals.ICalTracer.TraceError <string>((long)this.GetHashCode(), "CalendarComponentBase::ParseSubComponent. Failed to parse component: {0}", calendarComponentBase.componentName); result = false; } return(result); }