code: @Nonnull
  	public DataBuilder appendOperatingSystemBuilder(@Nonnull final OperatingSystem.Builder operatingSystemBuilder) {
  		Check.notNull(operatingSystemBuilder, "operatingSystemBuilder");
  		Check.notNegative(operatingSystemBuilder.getId(), "operatingSystemBuilder.getId()");
  		Check.stateIsTrue(!operatingSystemBuilders.containsKey(operatingSystemBuilder.getId()),
  				"Operating system builder with ID '%s' already exists.", operatingSystemBuilder.getId());
  
  		final OperatingSystem.Builder builder = operatingSystemBuilder.copy();
  		operatingSystemBuilders.put(builder.getId(), builder);
  		return this;
  	}
docs: Appends a copy of the given {@code OperatingSystem.Builder} to the internal data structure.
  
  @param operatingSystemBuilder
  {@code OperatingSystem.Builder} to be copied and appended
  @return this {@code Builder}, for chaining
  @throws net.sf.qualitycheck.exception.IllegalNullArgumentException
  if the given argument is {@code null}
  @throws net.sf.qualitycheck.exception.IllegalNegativeArgumentException
  if the ID of the given builder is negative
  @throws net.sf.qualitycheck.exception.IllegalStateOfArgumentException
  if a builder with the same ID already exists