docs: @SuppressWarnings("resource")
  	@Pure
  	public Object getRawValue(int recordNumber, String name, OutputParameter<AttributeType> type) throws AttributeException {
  		try {
  			final DBaseFileReader dbReader = getReader();
  			synchronized (dbReader) {
  				dbReader.seek(recordNumber);
  				final DBaseFileRecord record = dbReader.readNextDBFRecord();
  				if (record != null) {
  					final int column = dbReader.getDBFFieldIndex(name);
  					if (column >= 0) {
  						final Object value = record.getFieldValue(column);
  						final DBaseFieldType dbfType = dbReader.getDBFFieldType(column);
  						type.set(dbfType.toAttributeType());
  						return value;
  					}
  				}
  				throw new NoAttributeFoundException(name);
  			}
  		} catch (IOException e) {
  			throw new AttributeException(e);
  		}
  	}