Example1: Breaking Bad ... interfaces.


Yikes!

Interface efficiency: 19.6%
Number of public non-constructor elements: 43, number of clients: 12

Extracting 3 interfaces gives an overall collection efficiency=68.5%. 
Shown below are the resulting efficiency changes on the original 
interface if a given extraction is made, and the cumulative efficiency 
of all involved interfaces.

Interface1: Resulting Window efficiency: 62.5% , accumulated collection 
efficiency: 42.3% 
10 clients: ConcreteDrawPreparation, ConcreteGuiView, ConcreteWindow, 
DrawPreparationRunnable, DrawRows, MouseListener, ProgressBar, ProgressBar$2, 
ProgressBar$4, ProgressBar$5
	showSearch
	showAbout
	setHeight
	setScopeElementName
	updateAnalysisSelection
	refreshAnalysisInfo
	showOptions
	updateAnalysisAvailability
	addPostDrawingCallback
	showHelp
	clearPositionCache
	getCanvasHeight
	showLog
	setStatus
	duplicateGraphics
	endWaiting
	centerOn
	restartSearchTimer
	fitToScreen
	decreaseMagnification
	getSequenceBufferedImage
	updateElementScope
	setTitle
	redraw
	getBufferedImage
	showOverview
	getCanvasWidth
	activateSearch
	clearImageCache
	showSequenceDiagram
	showWaiting
	draw
	deactivateSearch
	newRecentFile
	showProgress
	increaseMagnification
	start
	setWidth
	getFrame


Interface2: Resulting Window efficiency: 83.3% , accumulated collection 
efficiency: 68.5% 
5 clients: ConcreteDrawPreparation, ConcreteWindow, DrawNameFunction, 
DrawRows, RowPositioning
	getRowHeightSpacing
	getMagFactor


Interface3: 
3 clients: ConcreteWindow, DrawRows, MouseListener
	getToolTip
	setStatus