code: @Override
    public void serve(Data data) throws IOException {
      if (!isRegistered()) {
        register();
      }
  
      if (data.getContent().size() >= SegmentationHelper.DEFAULT_SEGMENT_SIZE) {
        InputStream stream = new ByteArrayInputStream(data.getContent().getImmutableArray());
        List<Data> segments = SegmentationHelper.segment(data, stream);
        for (Data segment : segments) {
          logger.fine("Adding segment: " + segment.getName().toUri());
          repository.put(segment);
        }
      } else {
        logger.fine("Adding segment: " + data.getName().toUri());
        repository.put(data);
      }
    }
docs: {@inheritDoc}