(HashMap - data binding - JFace) en RCP

Quiero hacer un dataBinding entre la información que tiene un HashMap y los SWT-JFace Viewers

He visto que se maneja con un   (pq mi HashMap es una propiedad de mi clase, no me interesan los demás) un   para los UI y se ligan con un  .

Pero en sí, me confunden estos términos:
- WritableValues
- IObservableValue
- IObservableMap
- ContentProvider
- ObservableMapLabelProvider

El concepto que tengo es: Un JFace se une con un Pojo (una de sus propiedades) con un DataBindingContext (que se hace en un JFace - UI)

Pero no entiendo el dataBinding con los Maps, ni el concepto de los Providers ni de los Viewers.
Me podrían ayudar y poner un ejemplo para poder configurar este binding entre un componente UI y un PojoProperties?

Saludos