code: static EntityIdValue fromId(String id, String siteIri) {
  		switch (guessEntityTypeFromId(id)) {
  			case EntityIdValueImpl.JSON_ENTITY_TYPE_ITEM:
  				return new ItemIdValueImpl(id, siteIri);
  			case EntityIdValueImpl.JSON_ENTITY_TYPE_PROPERTY:
  				return new PropertyIdValueImpl(id, siteIri);
  			case EntityIdValueImpl.JSON_ENTITY_TYPE_LEXEME:
  				return new LexemeIdValueImpl(id, siteIri);
  			case EntityIdValueImpl.JSON_ENTITY_TYPE_FORM:
  				return new FormIdValueImpl(id, siteIri);
  			case EntityIdValueImpl.JSON_ENTITY_TYPE_SENSE:
  				return new SenseIdValueImpl(id, siteIri);
  			default:
  				throw new IllegalArgumentException("Entity id \"" + id + "\" is not supported.");
  		}
  	}
docs: Parses an item id
  
  @param id
  the identifier of the entity, such as "Q42"
  @param siteIri
  the siteIRI that this value refers to
  @throws IllegalArgumentException
  if the id is invalid