25    public function __construct(
 
   27        private int $typeInfo,
 
   28        private bool $optional,
 
   32    public function getName() : 
string{ 
return $this->name; }
 
   34    public function getTypeInfo() : 
int{ 
return $this->typeInfo; }
 
   36    public function isOptional() : 
bool{ 
return $this->optional; }
 
   38    public function getFlags() : 
int{ 
return $this->flags; }
 
   40    public static function read(ByteBufferReader $in) : 
self{
 
   41        $name = CommonTypes::getString($in);
 
   42        $typeInfo = LE::readUnsignedInt($in);
 
   43        $optional = CommonTypes::getBool($in);
 
   44        $flags = Byte::readUnsigned($in);
 
   46        return new self($name, $typeInfo, $optional, $flags);
 
   49    public function write(ByteBufferWriter $out) : 
void{
 
   50        CommonTypes::putString($out, $this->name);
 
   51        LE::writeUnsignedInt($out, $this->typeInfo);
 
   52        CommonTypes::putBool($out, $this->optional);
 
   53        Byte::writeUnsigned($out, $this->flags);