class OffsetLeadSeries extends OffsetSeries<T> {

    @Override
    public Series<T> materialize() {

        int size = size();
        Object[] buffer = new Object[size];

        if (filler != null) {
            Arrays.fill(buffer, 0, offset, filler);
        }

        delegate.copyTo(buffer, 0, offset, size - offset);

        return new ArraySeries<>((T[]) buffer);
    }

    public  OffsetLeadSeries(Series<T> delegate, int offset, T filler);

}