class BufferizedProducerSupport {

    public T next() {
        if (current == null || !current.hasNext()) {
            current = supplier.get();
        }
        return current != null && current.hasNext() ? current.next() : null;
    }

}