docs: public static Path decodePathFromReference(CheckpointStorageLocationReference reference) {
  		if (reference.isDefaultReference()) {
  			throw new IllegalArgumentException("Cannot decode default reference");
  		}
  
  		final byte[] bytes = reference.getReferenceBytes();
  		final int headerLen = REFERENCE_MAGIC_NUMBER.length;
  
  		if (bytes.length > headerLen) {
  			// compare magic number
  			for (int i = 0; i < headerLen; i++) {
  				if (bytes[i] != REFERENCE_MAGIC_NUMBER[i]) {
  					throw new IllegalArgumentException("Reference starts with the wrong magic number");
  				}
  			}
  
  			// covert to string and path
  			try {
  				return new Path(new String(bytes, headerLen, bytes.length - headerLen, StandardCharsets.UTF_8));
  			}
  			catch (Exception e) {
  				throw new IllegalArgumentException("Reference cannot be decoded to a path", e);
  			}
  		}
  		else {
  			throw new IllegalArgumentException("Reference too short.");
  		}
  	}