commonlib/src/main/java/com/streamsets/pipeline/lib/io/LiveFile.java
public static LiveFile deserialize(String str) throws IOException {
    Utils.checkNotNull(str, "str");
    try {
      JsonMapper objectMapper = DataCollectorServices.instance().get(JsonMapper.SERVICE_KEY);
      Map map = objectMapper.readValue(str, Map.class);
      Path path = Paths.get((String) map.get("path"));
      String headHash = (map.containsKey("headHash")) ? (String) map.get("headHash") : "";
      int headLen = (map.containsKey("headLen")) ? (int) map.get("headLen") : 0;
      String inode = (String) map.get("inode");
      return new LiveFile(path, inode, headHash, headLen);
    } catch (RuntimeException|IOException ex) {
      throw new IllegalArgumentException(Utils.format("Invalid LiveFile serialized string '{}': {}", str,
                                                      ex.toString()), ex);
    }
  }
public static LiveFile deserialize(String str) throws IOException {
    Utils.checkNotNull(str, "str");
    try {
      JsonMapper objectMapper = DataCollectorServices.instance().get(JsonMapper.SERVICE_KEY);
      Map map = objectMapper.readValue(str, Map.class);
      Path path = Paths.get((String) map.get("path"));
      String headHash = (map.containsKey("headHash")) ? (String) map.get("headHash") : "";
      int headLen = (map.containsKey("headLen")) ? (int) map.get("headLen") : 0;
      String inode = (String) map.get("inode");
      return new LiveFile(path, inode, headHash, headLen);
    } catch (RuntimeException|IOException ex) {
      throw new IllegalArgumentException(Utils.format("Invalid LiveFile serialized string '{}': {}", str,
                                                      ex.toString()), ex);
    }
  }
Deserializes a string representation of a <code>LiveFile</code>.
<p/>

@param str the string representation of a <code>LiveFile</code>.
@return the deserialized <code>LiveFile</code>
@throws IOException thrown if the string con not be deserialized into a <code>LiveFile</code>.