class AppInspectHandler extends AbstractInspectHandler{
    private final static String inspectPoolKey="inspector-app-pool";

    @Override
    public String getThreadPoolKey() {
        return inspectPoolKey;
    }

    @Override
    protected Map<String, List<InstanceInfo>> getSplitMap() {<FILL_FUNCTION_BODY>}
}

        List<InstanceInfo> list = getAllInstanceList();
        Map<String, List<InstanceInfo>> hostMap = new TreeMap<String, List<InstanceInfo>>();
        for (InstanceInfo instanceInfo : list) {
            String appId = String.valueOf(instanceInfo.getAppId());
            if (hostMap.containsKey(appId)) {
                hostMap.get(appId).add(instanceInfo);
            } else {
                List<InstanceInfo> hostInstances = new ArrayList<InstanceInfo>();
                hostInstances.add(instanceInfo);
                hostMap.put(appId, hostInstances);
            }
        }
        return hostMap;
    
<methods>public non-sealed void <init>() ,public List<com.sohu.cache.entity.InstanceInfo> getAllInstanceList() ,public void handle() ,public void init() ,public void setInspectorList(List<com.sohu.cache.inspect.Inspector>) <variables>protected com.sohu.cache.async.AsyncService asyncService,protected List<com.sohu.cache.inspect.Inspector> inspectorList,protected com.sohu.cache.dao.InstanceDao instanceDao,protected final org.slf4j.Logger logger