const templateB = `
  ‹div class="b"›
    ‹div›
      ‹h3›{{name}}‹/h3›
      ‹p›My parent is {{parent?.name}}‹/p›
    ‹/div›
    ‹carol›‹/carol›
    ‹chris›‹/chris›
  ‹/div›`;

@Component({
  selector:   'barry',
  template:   templateB,
  providers:  [{ provide: Parent, useExisting: forwardRef(() => BarryComponent) }]
})
export class BarryComponent implements Parent {
  name = 'Barry';
  constructor( @SkipSelf() @Optional() public parent: Parent ) { }
}