As ImageDataProvider and ImageFileNameProvider details were refactored into internal sub classes already, attributes that are only used for the "standard case" remain in the Image class. Those should be extracted into a third AbstractImageProviderWrapper.
Some usages of package protected attributes in other parts of SWT must be evaluated and probably adapted in the same step to make this possible