code: function needsBrFiller( selection, path ) {
  		// Fake selection does not need filler, because it is fake.
  		if ( selection.isFake )
  			return 0;
  
  		// Ensure bogus br could help to move cursor (out of styles) to the end of block. (#7041)
  		var pathBlock = path.block || path.blockLimit,
  			lastNode = pathBlock && pathBlock.getLast( isNotEmpty );
  
  		// Check some specialities of the current path block:
  		// 1. It is really displayed as block; (#7221)
  		// 2. It doesn't end with one inner block; (#7467)
  		// 3. It doesn't have bogus br yet.
  		if (
  			pathBlock && pathBlock.isBlockBoundary() &&
  			!( lastNode && lastNode.type == CKEDITOR.NODE_ELEMENT && lastNode.isBlockBoundary() ) &&
  			!pathBlock.is( 'pre' ) && !pathBlock.getBogus()
  		)
  			return pathBlock;
  	}
docs: Checks whether current selection requires br filler to be appended. @returns Block which needs filler or falsy value.