public function __construct($value, $flag = ValueType::MODE_STRICT)
    {
        if (!ValueType::isResource($value)) {
            throw new \ReflectionException(
                sprintf(__METHOD__.' expects parameter one to be resource, %s given', gettype($value))