static RawResolvedFeatures getResolvedFeatures(JvmDeclaredType type, CommonTypeComputationServices services) {
		final List<Adapter> adapterList = type.eAdapters();
		RawResolvedFeatures adapter = (RawResolvedFeatures) EcoreUtil.getAdapter(adapterList, RawResolvedFeatures.class);
		if (adapter != null) {
			return adapter;
		}
		final RawResolvedFeatures newAdapter = new RawResolvedFeatures(type, services);
		requestNotificationOnChange(type, new Runnable() {
			@Override
			public void run() {
				newAdapter.clear();
				adapterList.remove(newAdapter);
			}
		});
		adapterList.add(newAdapter);
		return newAdapter;
	}
static RawResolvedFeatures getResolvedFeatures ( JvmDeclaredType type , CommonTypeComputationServices services ) { final List < Adapter > adapterList = type . eAdapters ( ) ; RawResolvedFeatures adapter = ( RawResolvedFeatures ) EcoreUtil . getAdapter ( adapterList , RawResolvedFeatures . class ) ; if ( adapter != null ) { return adapter ; } final RawResolvedFeatures newAdapter = new RawResolvedFeatures ( type , services ) ; requestNotificationOnChange ( type , new Runnable ( ) { @ Override public void run ( ) { newAdapter . clear ( ) ; adapterList . remove ( newAdapter ) ; } } ) ; adapterList . add ( newAdapter ) ; return newAdapter ; }
Returns an existing instance of {@link RawResolvedFeatures} or creates a new one that
will be cached on the type. It will not add itself as {@link EContentAdapter} but use
the {@link JvmTypeChangeDispatcher} instead.