code: func (job Job) Errors() []error {
  	var errs []error
  	for _, errDetails := range job.RawErrors {
  		switch errDetails.Code {
  		case constant.JobErrorCodeBuildpackAlreadyExistsForStack:
  			errs = append(errs, ccerror.BuildpackAlreadyExistsForStackError{Message: errDetails.Detail})
  		case constant.JobErrorCodeBuildpackAlreadyExistsWithoutStack:
  			errs = append(errs, ccerror.BuildpackAlreadyExistsWithoutStackError{Message: errDetails.Detail})
  		case constant.JobErrorCodeBuildpackStacksDontMatch:
  			errs = append(errs, ccerror.BuildpackStacksDontMatchError{Message: errDetails.Detail})
  		case constant.JobErrorCodeBuildpackStackDoesNotExist:
  			errs = append(errs, ccerror.BuildpackStackDoesNotExistError{Message: errDetails.Detail})
  		case constant.JobErrorCodeBuildpackZipInvalid:
  			errs = append(errs, ccerror.BuildpackZipInvalidError{Message: errDetails.Detail})
  		default:
  			errs = append(errs, ccerror.V3JobFailedError{
  				JobGUID: job.GUID,
  				Code:    errDetails.Code,
  				Detail:  errDetails.Detail,
  				Title:   errDetails.Title,
  			})
  		}
  	}
  	return errs
  }
docs: // Errors returns back a list of