off topic: `available()` is generally lousy API that doesn't promise enough. In this case it works sightly by accident. Using `out.size()` would be just as good.