class BinData::SanitizedPrototype

def initialize(obj_type, obj_params, hints)

def initialize(obj_type, obj_params, hints)
  raw_hints = hints.dup
  if raw_hints[:endian].respond_to?(:endian)
    raw_hints[:endian] = raw_hints[:endian].endian
  end
  obj_params ||= {}
  if BinData::Base === obj_type
    obj_class = obj_type
  else
    obj_class = RegisteredClasses.lookup(obj_type, raw_hints)
  end
  if BinData::Base === obj_class
    @factory = obj_class
  else
    @obj_class  = obj_class
    @obj_params = SanitizedParameters.new(obj_params, @obj_class, hints)
  end
end