class Field implements IField {

    @Override
    public <T> T in(final IObject obj)
            throws ReadValueException, InvalidArgumentException {
        if (null == obj) {
            throw new InvalidArgumentException("Argument should not be null.");
        }
        Object value = obj.getValue(fieldName);
        if (null == value) {
            return null;
        }

        return (T) value;
    }

    public  Field(final IFieldName fieldName);

}