FacetEditorImpl (Facet facet) { FacetEditorImpl editor = myEditors.get(facet); if (editor == null) { final Facet underlyingFacet = facet.getUnderlyingFacet(); final FacetEditorContext parentContext = underlyingFacet != null ? getOrCreateEditor(underlyingFacet).getContext() : null; final FacetEditorContext context = createContext(facet, parentContext); editor = new FacetEditorImpl(context, facet.getConfiguration()); editor.getComponent(); editor.reset(); myEditors.put(facet, editor); } return editor; }