code: func (builder *STI) Exists(config *api.Config) bool {
  	if !config.Incremental {
  		return false
  	}
  
  	policy := config.PreviousImagePullPolicy
  	if len(policy) == 0 {
  		policy = api.DefaultPreviousImagePullPolicy
  	}
  
  	tag := util.FirstNonEmpty(config.IncrementalFromTag, config.Tag)
  
  	startTime := time.Now()
  	result, err := dockerpkg.PullImage(tag, builder.incrementalDocker, policy)
  	builder.result.BuildInfo.Stages = api.RecordStageAndStepInfo(builder.result.BuildInfo.Stages, api.StagePullImages, api.StepPullPreviousImage, startTime, time.Now())
  
  	if err != nil {
  		builder.result.BuildInfo.FailureReason = utilstatus.NewFailureReason(
  			utilstatus.ReasonPullPreviousImageFailed,
  			utilstatus.ReasonMessagePullPreviousImageFailed,
  		)
  		glog.V(2).Infof("Unable to pull previously built image %q: %v", tag, err)
  		return false
  	}
  
  	return result.Image != nil && builder.installedScripts[constants.SaveArtifacts]
  }
docs: // Exists determines if the current build supports incremental workflow.
  // It checks if the previous image exists in the system and if so, then it
  // verifies that the save-artifacts script is present.