/**
     * Constructs a <code>ISemanticProvider</code> descriptor for the specified configuration
     * element.
     *
     * @param element The configuration element describing the provider.
     */
    public ProviderDescriptor(IConfigurationElement element) {
      super(element);

      this.providerConfiguration = ViewProviderConfiguration.parse(element);
      assert null != providerConfiguration
          : "Null providerConfiguration in ProviderDescriptor"; //$NON-NLS-1$
    }
    /**
     * Cheks if the operation is supported by the XML extension
     *
     * @param operation
     * @return
     */
    private boolean isSupportedInExtention(IOperation operation) {
      if (operation instanceof CreateViewOperation) {
        CreateViewOperation o = (CreateViewOperation) operation;
        Class viewKind = o.getViewKind();
        IAdaptable semanticAdapter = o.getSemanticAdapter();
        String semanticHint = o.getSemanticHint();
        View containerView = null;
        if (o instanceof CreateChildViewOperation) {
          CreateChildViewOperation cvo = (CreateChildViewOperation) o;
          containerView = cvo.getContainerView();
        }

        return providerConfiguration.supports(
            viewKind, semanticAdapter, containerView, semanticHint);
      }
      return false;
    }