module ActiveFedora::Attributes::ClassMethods

def define_delegated_accessor(fields, delegate_target, options, &block)

def define_delegated_accessor(fields, delegate_target, options, &block)
  define_attribute_methods fields
  fields.each do |f|
    klass = datastream_class_for_name(delegate_target)
    attribute_properties = options.merge(delegate_target: delegate_target, klass: klass)
    find_or_create_defined_attribute f, attribute_class(klass), attribute_properties
    create_attribute_reader(f, delegate_target, options)
    create_attribute_setter(f, delegate_target, options)
    add_attribute_indexing_config(f, &block) if block_given?
  end
end