docs: @SuppressWarnings("resource")
  	@Pure
  	public Collection<String> getAllAttributeNames(int recordNumber) {
  		try {
  			final DBaseFileReader dbReader = getReader();
  			synchronized (dbReader) {
  				final List<DBaseFileField> fields = dbReader.getDBFFields();
  				if (fields == null) {
  					return Collections.emptyList();
  				}
  				final ArrayList<String> titles = new ArrayList<>(fields.size());
  				for (int i = 0; i < fields.size(); ++i) {
  					titles.add(fields.get(i).getName());
  				}
  				return titles;
  			}
  		} catch (IOException exception) {
  			return Collections.emptyList();
  		}
  	}