/* returns the next reconstruction event, blocking the calling thread * until one becomes available. will now return null if it is blocked * or will return an event if it is not */