@Override public Object compute(IEclipseContext context) { String key = "local_" + this.type; //$NON-NLS-1$ @SuppressWarnings("unchecked") T rv = (T) context.get(key); if (rv == null) { ScopedObjectFactory factory = context.get(ScopedObjectFactory.class); rv = factory.newInstance(this.type); context.modify(key, rv); } return rv; } }