docs: function maybeBogus( node, atBlockEnd ) {
  
  			// BR that's not from IE<11 DOM, except for a EOL marker.
  			if ( !( isOutput && !CKEDITOR.env.needsBrFiller ) &&
  					node.type == CKEDITOR.NODE_ELEMENT && node.name == 'br' &&
  					!node.attributes[ 'data-cke-eol' ] ) {
  				return true;
  			}
  
  			var match;
  
  			// NBSP, possibly.
  			if ( node.type == CKEDITOR.NODE_TEXT && ( match = node.value.match( tailNbspRegex ) ) ) {
  				// We need to separate tail NBSP out of a text node, for later removal.
  				if ( match.index ) {
  					( new CKEDITOR.htmlParser.text( node.value.substring( 0, match.index ) ) ).insertBefore( node );
  					node.value = match[ 0 ];
  				}
  
  				// From IE<11 DOM, at the end of a text block, or before block boundary.
  				if ( !CKEDITOR.env.needsBrFiller && isOutput && ( !atBlockEnd || node.parent.name in textBlockTags ) )
  					return true;
  
  				// From the output.
  				if ( !isOutput ) {
  					var previous = node.previous;
  
  					// Following a line-break at the end of block.
  					if ( previous && previous.name == 'br' )
  						return true;
  
  					// Or a single NBSP between two blocks.
  					if ( !previous || isBlockBoundary( previous ) )
  						return true;
  				}
  			}
  
  			return false;
  		}