class Builder {

		/**
		 * Utility constructor.
		 */
		private Builder() {
		}

		/**
		 * Creates new {@link CopyArgs} and sets {@literal DB}.
		 *
		 * @return new {@link CopyArgs} with {@literal DB} set.
		 */
		public static CopyArgs destinationDb(long destinationDb) {
			return new CopyArgs().destinationDb(destinationDb);
		}

		/**
		 * Creates new {@link CopyArgs} and sets {@literal REPLACE}.
		 *
		 * @return new {@link CopyArgs} with {@literal REPLACE} set.
		 */
		public static CopyArgs replace(boolean replace) {
			return new CopyArgs().replace(replace);
		}

	}

	/**
	 * Specify an alternative logical database index for the destination key.
	 *
	 * @param destinationDb logical database index to apply for {@literal DB}.
	 * @return {@code this}.
	 */
	public CopyArgs destinationDb(long destinationDb) {

		this.destinationDb = destinationDb;
		return this;
	}

	/**
	 * Hint redis to remove the destination key before copying the value to it.
	 *
	 * @param replace remove destination key before copying the value {@literal REPLACE}.
	 * @return {@code this}.
	 */
	public CopyArgs replace(boolean replace) {

		this.replace = replace;
		return this;
	}

    @Override
	public <K, V> void build(CommandArgs<K, V> args) {<FILL_FUNCTION_BODY>


		if (destinationDb != null) {
			args.add(CommandKeyword.DB).add(destinationDb);
		}

        if (replace) {
			args.add(CommandKeyword.REPLACE);
		}
	
<no_super_class>