public void close() {
        if (!closed) {
            closed = true;
            try {
                if (!closeHandlers.isEmpty()) {
                    ComposeRunnableUtil.composedRunnable(closeHandlers); // Run this stream's close handlers
                }
            } catch (Exception e) {
                throw new SpeedmentException(e);
            } finally {
                ComposeRunnableUtil.composedClose(streamSet.toArray(new AutoCloseable[0])); // Close the other streams
            }
        }
    }
@author pemi
@param <T> The type of the super class
@param <P> Pipeline type
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/internal/stream/builder/AbstractStreamBuilder.java