code: public Step pollLast() {
          Deque<Step> queue = get();
          Step last = queue.pollLast();
          if (queue.isEmpty()) {
              queue.add(createRootStep());
          }
          return last;
      }
docs: Removes the last element of deque in the current thread's copy of this
  thread-local variable. If after this deque is empty add new root step
  {@link #createRootStep()}
  
  @return the element removed from deque