code: public ICalPropertyScribe<? extends ICalProperty> getPropertyScribe(QName qname) {
  		ICalPropertyScribe<? extends ICalProperty> scribe = experimentalPropByQName.get(qname);
  		if (scribe == null) {
  			scribe = standardPropByQName.get(qname);
  		}
  
  		if (scribe == null || !scribe.getSupportedVersions().contains(ICalVersion.V2_0)) {
  			if (XCalNamespaceContext.XCAL_NS.equals(qname.getNamespaceURI())) {
  				return new RawPropertyScribe(qname.getLocalPart().toUpperCase());
  			}
  			return getPropertyScribe(Xml.class);
  		}
  
  		return scribe;
  	}
docs: Gets a property scribe by XML local name and namespace.
  @param qname the XML local name and namespace
  @return the property scribe or a {@link XmlScribe} if not found