private Annotation addAnnotationValueHelper(String property, URI nameSpaceURI, boolean propertyIsRel) {
        AnnotationImpl annotation = new AnnotationImpl(getDocument());
        if ( null == property ) {
        	return null;
        }
        String[] curie = property.split(":");
        if ( propertyIsRel ) {
        	annotation.setRel(property);
        }
        else {
        	annotation.setProperty(property);
        }
        mAnnotations.add(annotation);
        setNameSpace(getElement(), curie[0], nameSpaceURI.toString());
//        getElement().setAttributeNS(
//        	"http://www.w3.org/2000/xmlns/",
//        	"xmlns:" + curie[0],
//        	nameSpaceURI.toString()
//        );
        if ( getElement().getFirstChild() != null ) {
        	getElement().insertBefore(annotation.getElement(),getElement().getFirstChild());
        }
        else {
        	getElement().appendChild(annotation.getElement());
        }
        if ( this instanceof Annotation ) {
        	getElement().removeAttribute("content");
        	getElement().removeAttribute("datatype");        	
        	getElement().setAttribute("xsi:type","nex:ResourceMeta");
        	if ( getElement().hasAttribute("property") ) {
        		String rel = getElement().getAttribute("property");
        		getElement().setAttribute("rel",rel);
        		getElement().removeAttribute("property");
        	}
        }
        else {
        	String about = getElement().getAttribute("about");
        	if ( null == about || about.equals("") ) {
        		String id = getId();
        		if ( null == id || id.equals("") ) {
        			id = identify(getElement(),false);
        		}
        		getElement().setAttribute("about","#" + id.replace(':', '_'));
        	}
        }
        return annotation;
    }