/**
* Extension point: child classes may override to return specific {@link Protocol} implementations per their requirements.
* @return
*/
protected Protocol newProtocolHandler () {
return spec.isShared() ? new ConcurrentSynchProtocol() : new SynchProtocol(); // TODO: rewire it to get it from the ProtocolManager
}