code: public void verify(@Nullable T value, Path filePath) {
          Pre.notNull(filePath, "filePath");
  
          File file = mapFilePath(value, filePath);
  
          File parentPathDirectory = file.getParentFile();
          if (parentPathDirectory != null && !parentPathDirectory.exists()) {
              try {
                  fileSystemReadWriter.createDirectories(parentPathDirectory);
              } catch (IOException e) {
                  throw new IllegalStateException(e.getMessage(), e);
              }
          }
          Path approvalPath = getApprovalPath(file.toPath());
          byte[] rawValue = converter.getRawForm(value);
          if (!file.exists()) {
              LOG.info(file + " didn't exist. You will be asked for approval");
              handleFirstTimeApproval(file, approvalPath, rawValue);
              return;
          }
  
          // Change the modification time. This will allow users to delete orphaned files
          // https://github.com/nikolavp/approval/issues/18
          boolean wasAbleSetModified = file.setLastModified(System.currentTimeMillis());
          if (!wasAbleSetModified) {
              LOG.warning("We weren't able to change the modification date for " + file.getAbsolutePath());
          }
  
          try {
              byte[] fileContent = fileSystemReadWriter.readFully(file.toPath());
              if (!Arrays.equals(fileContent, rawValue)) {
                  try {
                      LOG.info("Approval in " + file + " is not the same as the last value. You will be asked for approval of the new value.");
                      fileSystemReadWriter.write(approvalPath, rawValue);
                  } catch (IOException e) {
                      throw new AssertionError("Couldn't write the new approval file " + file, e);
                  }
                  reporter.notTheSame(fileContent, file, rawValue, approvalPath.toFile());
              }
          } catch (IOException e) {
              throw new AssertionError("Couldn't read the previous content in file " + file, e);
          }
  
          //value approved
      }
docs: Verify the value that was passed in.
  
  @param value    the value object to be approved
  @param filePath the path where the value will be kept for further approval