docs: public <T extends FastSerializable> T readObject(final Class<T> expectedType) throws IOException {
          assert(expectedType != null);
          T obj = null;
          try {
              obj = expectedType.newInstance();
              obj.readExternal(this);
          } catch (final InstantiationException e) {
              e.printStackTrace();
          } catch (final IllegalAccessException e) {
              e.printStackTrace();
          }
          return obj;
      }