*/ final class None extends Option { /** @var None|null */ private static $instance; /** * @return None */ public static function create(): self { if (null === self::$instance) { self::$instance = new self(); } return self::$instance; } public function get() { throw new \RuntimeException('None has no value.'); } public function getOrCall($callable) { return $callable(); } public function getOrElse($default) { return $default; } public function getOrThrow(\Exception $ex) { throw $ex; } public function isEmpty(): bool { return true; } public function isDefined(): bool { return false; } public function orElse(Option $else) { return $else; } public function ifDefined($callable) { // Just do nothing in that case. } public function forAll($callable) { return $this; } public function map($callable) { return $this; } public function flatMap($callable) { return $this; } public function filter($callable) { return $this; } public function filterNot($callable) { return $this; } public function select($value) { return $this; } public function reject($value) { return $this; } public function getIterator(): EmptyIterator { return new EmptyIterator(); } public function foldLeft($initialValue, $callable) { return $initialValue; } public function foldRight($initialValue, $callable) { return $initialValue; } private function __construct() { } } __halt_compiler();----SIGNATURE:----aT8GJxUefpBJ/pED3uJGzYNgW9NZkcwgYGnwLrQrntejy+frKU3mSCHt6i1IccHZtcR0NCGrQ4Aeyj+5fDFncudTWHfr4MAylhI29jhP1vjrvyfnWLvqfA0xd1pfYQ4p+J/heDRQX/Z4xiOHfH0HsN9EFK4fUUCpsUOdVDn+tT4iOsDIEX7cZs70gBbxNzkXnlZZapQJ79TfLgqRLHhNaOp3kUWBAm/Yhb2rmkhWeJhk+cCQCu+7mD0S/Toxfj+MEcLUOMYFcmVMkvoDE6I9iROWNsZ1fPzyWuZ+eCU5d4Mmk/ahY538rAz4ggWZbZLdXLfBMiqBrCGGkIfGkgVlSpLv58geN50mzN3mfiToyrn0L/ZTZJX7Fxj+5iC1cVhUMbeETYCmA315lmPTpt0di52UqPVlioIYSPk3Zwji1zxG9H+WdHqZBeZcIFPRYtQxgq+4St82jbS3KlT3Uc/GjDbz4eyxuInQqBfLd40+LFm/EyRZjeaXVii3kyBJdhECeVQPzWBAi7Xq+km9CEgyojaeVe8XvAz6Uc6chj4FbMA2WngfUt07tX7IM/P0gL8qZAQLjkFia8riPJrqoSGnbsmM/JyFBqSzSfhX5Zvjy8jW1C/TV7LKipyeWUqwnOQINJyFgGY2NGO1xfhI2MMasrLeZNXt7UBiLZa2vxdKiNA=----ATTACHMENT:----NTE3MTE4MjY3Nzg3ODYwNSA0NTAwMjM1ODUyODI0MTA0IDU2MTQ4MTUyNDI3NDYzOTg=