docs: @SuppressWarnings({"unchecked"})
      public <T> T read(File jsonFile, Configuration configuration) throws IOException {
          notNull(jsonFile, "json file can not be null");
          isTrue(jsonFile.exists(), "json file does not exist");
          notNull(configuration, "jsonProvider can not be null");
  
          FileInputStream fis = null;
          try {
              fis = new FileInputStream(jsonFile);
              return read(fis, configuration);
          } finally {
              Utils.closeQuietly(fis);
          }
      }