//
if(value instanceof EFeature) {
//
// Cast to EFeature
//
EFeature eFeature = (EFeature)value;
//
// ----------------------------------------------------------
// Adapt given EFeature (does nothing if already in context)
// ----------------------------------------------------------
// This is a very important step: It's part of the context
// startup problem solution (see EFeatureContextHelper),
// and ensures that context-unaware objects become
// aware of the context they are added to. Without this
// step, EFeature stays context-unaware, preventing
// EFeatureReaders from reading them using a context ID
// known by client code.
// ----------------------------------------------------------
//
eAdapt(eFeature, true);
//
// Get current ID
//
String eID = eFeature.getID();
//
// Resolve unique ID
//
if( !( eID==null || eID.length()==0 ) ) {
eIDFactory.useID(eFeature, eID);