class Field implements IField {

    @Override
    public <T> void out(final IObject obj, final T in)
            throws ChangeValueException, InvalidArgumentException {
        if (null == obj) {
            throw new InvalidArgumentException("Argument should not be null.");
        }
        obj.setValue(fieldName, in);
    }

    public  Field(final IFieldName fieldName);

}