docs: function( dialog, elementDefinition, htmlList ) {
  				if ( arguments.length < 3 )
  					return;
  
  				var _ = initPrivateObject.call( this, elementDefinition ),
  					me = this;
  
  				if ( elementDefinition.validate )
  					this.validate = elementDefinition.validate;
  
  				var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
  				var onClick = myDefinition.onClick;
  				myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
  				myDefinition.onClick = function( evt ) {
  					var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
  					if ( !onClick || onClick.call( this, evt ) !== false ) {
  						dialog.getContentElement( target[ 0 ], target[ 1 ] ).submit();
  						this.disable();
  					}
  				};
  
  				dialog.on( 'load', function() {
  					dialog.getContentElement( elementDefinition[ 'for' ][ 0 ], elementDefinition[ 'for' ][ 1 ] )._.buttons.push( me );
  				} );
  
  				CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
  			}