code: private void inlineFinally(Node finallyTarget, int finallyStart,
                                 int finallyEnd) {
          Node fBlock = getFinallyAtTarget(finallyTarget);
          fBlock.resetTargets();
          Node child = fBlock.getFirstChild();
          exceptionManager.markInlineFinallyStart(fBlock, finallyStart);
          while (child != null) {
              generateStatement(child);
              child = child.getNext();
          }
          exceptionManager.markInlineFinallyEnd(fBlock, finallyEnd);
      }
docs: Inline a FINALLY node into the method bytecode.
  
  This method takes a label that points to the real start of the finally
  block as implemented in the bytecode. This is because in some cases,
  the finally block really starts before any of the code in the Node. For
  example, the catch-all-rethrow finally block has a few instructions
  prior to the finally block made by the user.
  
  In addition, an end label that should be unmarked is given as a method
  parameter. It is the responsibility of any callers of this method to
  mark the label.
  
  The start and end labels of the finally block are used to exclude the
  inlined block from the proper exception handler. For example, an inlined
  finally block should not be handled by a catch-all-rethrow.
  
  @param finallyTarget a TARGET node directly preceding a FINALLY node or
  a FINALLY node itself
  @param finallyStart a pre-marked label that indicates the actual start
  of the finally block in the bytecode.
  @param finallyEnd an unmarked label that will indicate the actual end
  of the finally block in the bytecode.