private void initializeControllerPaths() throws IOException {
    String controllerPath;
    Map<String, List<String>> parsedMtab = parseMtab();

    // CPU

    controllerPath = findControllerInMtab(CONTROLLER_CPU, parsedMtab);

    if (controllerPath != null) {
      File f = new File(controllerPath + "/" + this.cgroupPrefix);

      if (FileUtil.canWrite(f)) {
        controllerPaths.put(CONTROLLER_CPU, controllerPath);
      } else {
        throw new IOException(
            "Not able to enforce cpu weights; cannot write " + "to cgroup at: " + controllerPath);
      }
    } else {
      throw new IOException(
          "Not able to enforce cpu weights; cannot find "
              + "cgroup for cpu controller in "
              + getMtabFileName());
    }
  }