presto-main/src/main/java/io/prestosql/operator/LookupJoinOperator.java/JoinProcessor/close
class JoinProcessor:        public void close()
        {
            if (closed) {
                return;
            }
            closed = true;
            probe = null;

            try (Closer closer = Closer.create()) {
                // `afterClose` must be run last.
                // Closer is documented to mimic try-with-resource, which implies close will happen in reverse order.
                closer.register(afterClose::run);

                closer.register(pageBuilder::reset);
                closer.register(() -> Optional.ofNullable(lookupSourceProvider).ifPresent(LookupSourceProvider::close));
                spiller.ifPresent(closer::register);
            }
            catch (IOException e) {
                throw new RuntimeException(e);
            }
        }