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: manager.rb
    path of file: ./repos/fastlane/pem/lib/pem
    
    the code of the file until where you have to start completion: require 'pathname'

require 'spaceship'
require 'fastlane_core/print_table'
require_relative 'module'

module PEM
  # Creates the push profile and stores it in the correct location
  class Manager
    class << self
      def start
        FastlaneCore::PrintTable.print_values(config: PEM.config, hide_keys:
    
      def create_certificate
        UI.important("Creating a new push certificate for app '#{PEM.config[:app_identifier]}'.")

        csr, pkey = Spaceship.certificate.create_certificate_signing_request

        begin
          cert = certificate.create!(csr: csr, bundle_id: PEM.config[:app_identifier])
        rescue => ex
          if ex.to_s.include?("You already have a current")
            # That's the most common failure probably
            UI.message(ex.to_s)
            UI.user_error!("You already have 2 active push profiles for this application/environment. You'll need to revoke an old certificate to make room for a new one")
          else
            raise ex
          end