class ViewModel::Migrator

def migrated_deep_schema_version(viewmodel_class, required_versions, include_referenced: true)

def migrated_deep_schema_version(viewmodel_class, required_versions, include_referenced: true)
  deep_schema_version = viewmodel_class.deep_schema_version(include_referenced: include_referenced)
  if required_versions.present?
    deep_schema_version = deep_schema_version.dup
    required_versions.each do |required_vm_class, required_version|
      name = required_vm_class.view_name
      if deep_schema_version.has_key?(name)
        deep_schema_version[name] = required_version
      end
    end
  end
  deep_schema_version
end