You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: create_service.rb
    path of file: ./repos/gitlabhq/app/services/labels
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module Labels
  class CreateService < Labels::BaseService
    def initialize(params = {})
      @params = params.to_h.dup.with_indifferent_access
    end

    # returns the created label
    def execute(target_params)
      params[:color] = convert_color_name_to_hex if para
    
    def execute(target_params)
      params[:color] = convert_color_name_to_hex if params[:color].present?

      project_or_group = target_params[:project] || target_params[:group]

      if project_or_group.present?
        params.delete(:lock_on_merge) unless project_or_group.supports_lock_on_merge?

        project_or_group.labels.create(params)
      elsif target_params[:template]
        label = Label.new(params)
        label.template = true
        label.save
        label
      else
        Gitlab::AppLogger.warn("target_params should contain :project or :group or :template, actual value: #{target_params}")
      end