public static function from(Closure $closure, $serializeThis = false)
{
if (static::$context === null) {
$instance = new static($closure, $serializeThis);
} elseif (isset(static::$context->instances[$closure])) {
$instance = static::$context->instances[$closure];
$instance->serializeThis = $serializeThis;
} else {
$instance = new static($closure, $serializeThis);
static::$context->instances[$closure] = $instance;
}
return $instance;
}