anchor.diff:      _disposer.dispose();
     }
   
  -  focusFirst() {
  +  void focusFirst() {
       _focusFirstInOrder(
           new DomTreeIterator(_content.element, scope: _content.element));
     }
   
  -  focusLast() {
  +  void focusLast() {
       _focusFirstInOrder(new DomTreeIterator(_content.element,
           scope: _content.element, reverse: true, wraps: true));
     }
   
  -  _focusFirstInOrder(Iterator<Element> iterator) {
  +  void _focusFirstInOrder(Iterator<Element> iterator) {
       while (iterator.moveNext()) {
         if (iterator.current.tabIndex == 0 && _visible(iterator.current)) {
           iterator.current.focus();
  
positive.code: 
  @Directive(
    selector: '[focusContentWrapper]',
    // TODO(google): Change to `Visibility.local` to reduce code size.
    visibility: Visibility.all,
  )
  class FocusContentWrapper extends FocusableDirective {
    Element _element;
  
negative.code:   styleUrls: const ['focus_trap.scss.css'],
    directives: const [FocusContentWrapper, AutoFocusDirective],
    changeDetection: ChangeDetectionStrategy.OnPush,
  )
  class FocusTrapComponent implements OnDestroy {
    final _disposer = new Disposer.oneShot();
  