# File lib/hammer_cli_foreman/option_builders.rb, line 208
    def dependent_options(resource, resource_name_map)
      options = []
      searchables = @searchables.for(resource)
      resource_name = resource.singular_name
      aliased_name = aliased(resource_name, resource_name_map)

      unless searchables.empty?
        first = searchables[0]
        remaining = searchables[1..-1] || []

        # First option is named by the resource
        # Eg. --organization with accessor option_organization_name
        options << option(
          optionamize("--#{aliased_name}"),
          "#{aliased_name}_#{first.name}".upcase,
          first.description || " ",
          :attribute_name => HammerCLI.option_accessor_name("#{resource_name}_#{first.name}"),
          :referenced_resource => resource.singular_name
        )

        # Other options are named by the resource plus the searchable name
        # Eg. --organization-label with accessor option_organization_label
        remaining.each do |s|
          options << option(
            optionamize("--#{aliased_name}-#{s.name}"),
            "#{aliased_name}_#{s.name}".upcase,
            s.description || " ",
            :attribute_name => HammerCLI.option_accessor_name("#{resource_name}_#{s.name}"),
            :referenced_resource => resource.singular_name
          )
        end
      end

      options << option(
        optionamize("--#{aliased_name}-id"),
        "#{aliased_name}_id".upcase,
        description("id", :show),
        :attribute_name => HammerCLI.option_accessor_name("#{resource_name}_id"),
        :referenced_resource => resource.singular_name
      )
      options
    end