Bug 249378 [Viewers] Make ArrayContentProvider a singleton
ArrayContentProvider contains zero state, and is not intended to be subclassed. Adding a static getter class to allow sharing a single instance of the ArrayContentProvider will improve performance and reduce memory usage.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ArrayContentProvider.java
/**
     * Returns the elements in the input, which must be either an array or a
     * <code>Collection</code>. 
     */
    public Object[] getElements(Object inputElement) {
        if (inputElement instanceof Object[]) {
			return (Object[]) inputElement;
		}
        if (inputElement instanceof Collection) {
			return ((Collection) inputElement).toArray();
		}
        return new Object[0];
    }
    /**
     * This implementation does nothing.
     */
    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        
    }
    /**
     * This implementation does nothing.
     */
    public void dispose() {
        
    }
}