code: func preprocessDeletionListForMerging(key string, original map[string]interface{},
  	patchVal interface{}, mergeDeletionList bool) (bool, bool, string, error) {
  	// If found a parallel list for deletion and we are going to merge the list,
  	// overwrite the key to the original key and set flag isDeleteList
  	foundParallelListPrefix := strings.HasPrefix(key, deleteFromPrimitiveListDirectivePrefix)
  	if foundParallelListPrefix {
  		if !mergeDeletionList {
  			original[key] = patchVal
  			return true, false, "", nil
  		}
  		originalKey, err := extractKey(key, deleteFromPrimitiveListDirectivePrefix)
  		return false, true, originalKey, err
  	}
  	return false, false, "", nil
  }
docs: // preprocessDeletionListForMerging preprocesses the deletion list.
  // it returns shouldContinue, isDeletionList, noPrefixKey