stagesupport/src/main/java/com/streamsets/pipeline/lib/util/OffsetUtil.java
@SuppressWarnings("unchecked")
  public static Map<String, String> deserializeOffsetMap(String lastSourceOffset) throws IOException {
    Map<String, String> offsetMap;
    if (lastSourceOffset == null || lastSourceOffset.isEmpty()) {
      offsetMap = new HashMap<>();
    } else {
      offsetMap = JSON_MAPPER.readValue(lastSourceOffset, Map.class);
    }
    return offsetMap;
  }
@SuppressWarnings("unchecked")
  public static Map<String, String> deserializeOffsetMap(String lastSourceOffset) throws IOException {
    Map<String, String> offsetMap;
    if (lastSourceOffset == null || lastSourceOffset.isEmpty()) {
      offsetMap = new HashMap<>();
    } else {
      offsetMap = JSON_MAPPER.readValue(lastSourceOffset, Map.class);
    }
    return offsetMap;
  }
Deserialize String offset to Map of table to offset
@param lastSourceOffset Serialized offset String
@return Map of table to lastOffset
@throws StageException When Deserialization exception happens