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: p_sensitive_type.rb
    path of file: ./repos/puppet/lib/puppet/pops/types
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module Puppet::Pops
module Types
# A Puppet Language type that wraps sensitive information. The sensitive type is parameterized by
# the wrapped value type.
#
#
# @api public
class PSensitiveType < PTypeWithContainedType
  class Sensitive
 
    
  def self.new_function(type)
    @new_function ||= Puppet::Functions.create_loaded_function(:new_Sensitive, type.loader) do
      dispatch :from_sensitive do
        param 'Sensitive', :value
      end

      dispatch :from_any do
        param 'Any', :value
      end

      def from_any(value)
        Sensitive.new(value)
      end

      # Since the Sensitive value is immutable we can reuse the existing instance instead of making a copy.
      def from_sensitive(value)
        value
      end
    end
  end