code: public boolean getFieldInto(int fieldNum, Value target) {
  		// range check
  		if (fieldNum < 0 || fieldNum >= this.numFields) {
  			throw new IndexOutOfBoundsException();
  		}
  		
  		// get offset and check for null
  		int offset = this.offsets[fieldNum];
  		if (offset == NULL_INDICATOR_OFFSET) {
  			return false;
  		}
  		else if (offset == MODIFIED_INDICATOR_OFFSET) {
  			// value that has been set is new or modified
  			// bring the binary in sync so that the deserialization gives the correct result
  			updateBinaryRepresenation();
  			offset = this.offsets[fieldNum];
  		}
  		
  		final int limit = offset + this.lengths[fieldNum];
  		deserialize(target, offset, limit, fieldNum);
  		return true;
  	}
docs: Gets the field at the given position. If the field at that position is null, then this method leaves
  the target field unchanged and returns false.
  
  @param fieldNum The position of the field.
  @param target The value to deserialize the field into.
  @return True, if the field was deserialized properly, false, if the field was null.