docs: @Read(version = true)
  	public Patient readPatient(@IdParam IdDt theId) {
  		Deque<Patient> retVal;
  		try {
  			retVal = myIdToPatientVersions.get(theId.getIdPartAsLong());
  		} catch (NumberFormatException e) {
  			/*
  			 * If we can't parse the ID as a long, it's not valid so this is an unknown resource
  			 */
  			throw new ResourceNotFoundException(theId);
  		}
  
  		if (theId.hasVersionIdPart() == false) {
  			return retVal.getLast();
  		} else {
  			for (Patient nextVersion : retVal) {
  				String nextVersionId = nextVersion.getId().getVersionIdPart();
  				if (theId.getVersionIdPart().equals(nextVersionId)) {
  					return nextVersion;
  				}
  			}
  			// No matching version
  			throw new ResourceNotFoundException("Unknown version: " + theId.getValue());
  		}
  
  	}