code: @Override
      public final synchronized TerminalSize getTerminalSize() throws IOException {
          TerminalSize size = findTerminalSize();
          onResized(size);
          return size;
      }
docs: Final because we handle the onResized logic here; extending classes should override #findTerminalSize instead