class DetectorClient {

    public List<DetectorDocument> findUpdatedDetectorDocuments(long timeInSecs) {
        isTrue(timeInSecs > 0, "sinceSeconds must be strictly positive");

        val uri = String.format(baseUri + FIND_UPDATED_DOCUMENTS_PATH, timeInSecs);
        Content content;
        try {
            content = httpClient.get(uri);
        } catch (IOException e) {
            val message = "IOException while getting last updated detectors" +
                    ": sinceSeconds=" + timeInSecs +
                    ", httpMethod=GET" +
                    ", uri=" + uri;
            throw new DetectorException(message, e);
        }

        try {
            return Arrays.asList(objectMapper.readValue(content.asBytes(), DetectorDocument[].class));
        } catch (IOException e) {
            val message = "IOException while reading detectors: sinceSeconds=" + timeInSecs;
            throw new DetectorException(message, e);
        }
    }

}