function PreviewCompleter( rli, completer, ostream, enabled ) {
	if ( !(this instanceof PreviewCompleter) ) {
		return new PreviewCompleter( rli, completer, ostream, enabled );
	}
	debug( 'Creating a preview completer...' );

	// Initialize a flag indicating whether the preview completer is enabled:
	this._enabled = enabled;

	// Cache a reference to the provided readline interface:
	this._rli = rli;

	// Cache a reference to the output writable stream:
	this._ostream = ostream;

	// Cache a reference to the provided completer:
	this._completer = completer;

	// Create a callback for processing potential completion previews:
	this._onCompletions = this._completionCallback();

	// Initialize a buffer containing the currently displayed completion preview:
	this._preview = '';

	return this;
}
Constructor for creating a preview completer.

@private
@constructor
@param {Object} rli - readline instance
@param {Function} completer - function for generating possible completions
@param {WritableStream} ostream - writable stream
@param {boolean} enabled - boolean indicating whether the completer should be initially enabled
@returns {PreviewCompleter} completer instance