# File lib/rgen/metamodel_builder/intermediate/feature.rb, line 144
  def initialize(type, props)
    @props = Defaults.merge(props)
    if type.respond_to?(:_metamodel_description) 
      @etype = nil
      @impl_type = type
    else
      raise ArgumentError.new("'#{type}' (#{type.class}) is not a MMBase in reference #{props[:name]}")
    end
    if @props[:derived]
      @props[:changeable] = false
      @props[:volatile] = true
      @props[:transient] = true
    end    
    check(Properties)
  end