error.go
func (p *Part) addError(name string, detailFmt string, args ...interface{}) {
	p.Errors = append(
		p.Errors,
		&Error{
			name,
			fmt.Sprintf(detailFmt, args...),
			true,
		})
}
func (p *Part) addError(name string, detailFmt string, args ...interface{}) {
	p.Errors = append(
		p.Errors,
		&Error{
			name,
			fmt.Sprintf(detailFmt, args...),
			true,
		})
}
// addWarning builds a severe Error and appends to the Part error slice.