@Override
 public void calcData(DataKey key, DataSink sink) {
   super.calcData(key, sink);
   if (key.equals(PlatformDataKeys.DELETE_ELEMENT_PROVIDER) && myDeleteProvider != null) {
     sink.put(key, myDeleteProvider);
   } else if (key.equals(CommonDataKeys.VIRTUAL_FILE_ARRAY)) {
     sink.put(key, ArrayUtil.toObjectArray(getSelectedChanges(), VirtualFile.class));
   }
 }
 @Override
 public void calcData(final DataKey key, final DataSink sink) {
   if (key.equals(LangDataKeys.PSI_ELEMENT)) {
     if (mySelectedElements != null && !mySelectedElements.isEmpty()) {
       T selectedElement = mySelectedElements.iterator().next();
       if (selectedElement instanceof ClassMemberWithElement) {
         sink.put(
             LangDataKeys.PSI_ELEMENT, ((ClassMemberWithElement) selectedElement).getElement());
       }
     }
   }
 }