# File lib/hammer_cli_import/base.rb, line 286
    def list_server_entities(entity_type, extra_hash = {})
      if @prerequisite[entity_type]
        list_server_entities(@prerequisite[entity_type]) unless @cache[@prerequisite[entity_type]]
      end

      @cache[entity_type] ||= {}
      results = []

      if !extra_hash.empty? || @prerequisite[entity_type].nil?
        entities = api_call(entity_type, :index, {'per_page' => 999999}.merge(extra_hash))
        results = entities['results']
      elsif @prerequisite[entity_type] == :organizations
        # check only entities in imported orgs (not all of them)
        @pm[:organizations].to_hash.values.each do |org_id|
          entities = api_call(entity_type, :index, {'per_page' => 999999, 'organization_id' => org_id})
          results += entities['results']
        end
      else
        @cache[@prerequisite[entity_type]].each do |pre_id, _|
          entities = api_call(
            entity_type,
            :index,
            {
              'per_page' => 999999,
              @prerequisite[entity_type].to_s.sub(/s$/, '_id').to_sym => pre_id
            })
          results += entities['results']
        end
      end

      results.each do |entity|
        entity['id'] = entity['uuid'] if entity_type == :systems
        @cache[entity_type][entity['id']] = entity
      end
    end