code: public static <C extends OWLObject> C read(BinaryOWLInputStream inputStream) throws IOException, BinaryOWLParseException {
          byte typeMarker = inputStream.readByte();
          checkPositionIndex(0, 84, "Invalid type marker");
          OWLObjectBinaryType<C> type = getType(typeMarker);
          return type.getSerializer().read(inputStream);
      }
docs: Reads an OWLObject from a {@link BinaryOWLInputStream}.  This method is thread safe.
  @param inputStream The input stream.  Not {@code null}.
  @param <C> The type of object to be read.
  @return The object that was read.  Not {@code null}.
  @throws IOException if there was a problem reading the object.
  @throws org.semanticweb.binaryowl.BinaryOWLParseException If the binary representation of the object is corrupt.