docs: @Override
      public List<ServiceInstance> getAllInstances(String serviceName,
              ServiceInstanceQuery query) throws ServiceException {
          if(! isStarted){
              ServiceDirectoryError error = new ServiceDirectoryError(ErrorCode.SERVICE_DIRECTORY_MANAGER_FACTORY_CLOSED);
              throw new ServiceException(error);
          }
  
          List<ModelServiceInstance> modelSvc = getLookupService().getModelInstances(serviceName);
          if(modelSvc != null && ! modelSvc.isEmpty()){
              List<ModelServiceInstance> filteredInstances = ServiceInstanceQueryHelper.filter(query, modelSvc);
              if(filteredInstances.size() > 0){
                  List<ServiceInstance> instances = new ArrayList<ServiceInstance>();
                  for(ModelServiceInstance model : filteredInstances){
                      instances.add(ServiceInstanceUtils.transferFromModelServiceInstance(model));
                  }
                  return instances;
              }
          }
          return Collections.emptyList();
      }