class ScriptExecutionAdderImpl implements ScriptExecutionAdder {

    @Override
    public ScriptExecutionAdder withReplace(final String recordName, final Record record) {
        if (recordName == null) {
            throw new NullPointerException("Record name cannot be null.");
        }

        if (record == null) {
            throw new NullPointerException("Record cannot be null.");
        }

        if (recordName.trim().length() == 0) {
            throw new IllegalArgumentException("Record name cannot be blank.");
        }

        final String upperName = recordName.toUpperCase(Locale.getDefault());
        records.put(upperName, record);

        return this;
    }

    public  ScriptExecutionAdderImpl(final String scriptName, final CommandQueue queue);

}