docs: @Override
  	public void read(DataInputView in) throws IOException {
  		synchronized (this.confData) {
  			final int numberOfProperties = in.readInt();
  
  			for (int i = 0; i < numberOfProperties; i++) {
  				String key = StringValue.readString(in);
  				Object value;
  
  				byte type = in.readByte();
  				switch (type) {
  					case TYPE_STRING:
  						value = StringValue.readString(in);
  						break;
  					case TYPE_INT:
  						value = in.readInt();
  						break;
  					case TYPE_LONG:
  						value = in.readLong();
  						break;
  					case TYPE_FLOAT:
  						value = in.readFloat();
  						break;
  					case TYPE_DOUBLE:
  						value = in.readDouble();
  						break;
  					case TYPE_BOOLEAN:
  						value = in.readBoolean();
  						break;
  					case TYPE_BYTES:
  						byte[] bytes = new byte[in.readInt()];
  						in.readFully(bytes);
  						value = bytes;
  						break;
  					default:
  						throw new IOException("Unrecognized type: " + type);
  				}
  
  				this.confData.put(key, value);
  			}
  		}
  	}