/**
   * Check if the type is matching with the current node by checking its xmap annotation
   *
   * @param type
   * @param currentNode
   * @return
   */
  protected boolean isMatchingDescriptorType(IType type, Node currentNode) {
    try {

      IAnnotation[] annotations = type.getAnnotations();
      for (IAnnotation iAnnotation : annotations) {

        if (NuxeoXmlComponentProposalComputer.XOBJECT.equals(iAnnotation.getElementName())) {
          String elementName = null;
          IMemberValuePair[] memberValuePairs = iAnnotation.getMemberValuePairs();
          for (IMemberValuePair member : memberValuePairs) {
            if ("value".equals(member.getMemberName())) {
              elementName = (String) member.getValue();
              break;
            }
          }
          if (currentNode.getNodeName().equals(elementName)) {
            return true;
          }
        }
      }
    } catch (JavaModelException e) {
      SDKPlugin.log(IStatus.ERROR, "An error occured while parsing the type xmap annotation", e);
    }
    return false;
  }