code: @SuppressWarnings("unchecked")
    private HashMap<String, Object> loadCachedJson(final HttpQuery query,
                                         final long end_time,
                                         final long max_age,
                                         final String basepath)
                                         throws JsonParseException,
                                         JsonMappingException, IOException {
      final String json_path = basepath + ".json";
      File json_cache = new File(json_path);
      if (staleCacheFile(query, end_time, max_age, json_cache)) {
        return null;
      }
      final byte[] json = readFile(query, json_cache, 4096);
      if (json == null) {
        return null;
      }
      json_cache = null;
  
      return (HashMap<String, Object>) JSON.parseToObject(json, HashMap.class);
    }
docs: Attempts to read the cached {@code .json} file for this query.
  @param query The query to serve.
  @param end_time The end time on the query (32-bit unsigned int, seconds).
  @param max_age The maximum time (in seconds) we wanna allow clients to
  cache the result in case of a cache hit.
  @param basepath The base path used for the Gnuplot files.
  @return {@code null} in case no file was found, or the contents of the
  file if it was found.
  @throws IOException If the file cannot be loaded
  @throws JsonMappingException If the JSON cannot be parsed to a HashMap
  @throws JsonParseException If the JSON is improperly formatted