private Optional<StartpointFanOutPerTask> getStartpointFanOutPerTask(TaskName taskName) throws IOException {
    Preconditions.checkState(!stopped, "Underlying metadata store not available");
    Preconditions.checkNotNull(taskName, "TaskName cannot be null");

    byte[] fanOutBytes = fanOutStore.get(toFanOutStoreKey(taskName));
    if (ArrayUtils.isEmpty(fanOutBytes)) {
      return Optional.empty();
    }
    return Optional.of(objectMapper.readValue(fanOutBytes, StartpointFanOutPerTask.class));
  }
Read the fanned out {@link Startpoint}s for the given {@link TaskName}
@param taskName to read the fan out Startpoints for
@return fanned out Startpoints
samza-core/src/main/java/org/apache/samza/startpoint/StartpointManager.java