@Override
@SuppressWarnings("unchecked")
// Has to be ensured by observer to use, otherwise exception should be thrown
public void instrumentComputation(IComputationTask computation) {
IEntity target = getObservationTarget(computation);
Mediator.create(target);
target.registerObserver(observerToUse);
try {
((IObserver<IEntity>) observerToUse).update(target,
new ProcessorObservationHint(this));
} catch (ClassCastException ex) {
throw new IllegalArgumentException(