private static TableDescriptor parseFrom(final byte[] bytes) throws DeserializationException {
      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {
        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");
      }
      int pblen = ProtobufUtil.lengthOfPBMagic();
      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();
      try {
        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);
        return ProtobufUtil.toTableDescriptor(builder.build());
      } catch (IOException e) {
        throw new DeserializationException(e);
      }
    }
@param bytes A pb serialized {@link ModifyableTableDescriptor} instance with pb magic prefix
@return An instance of {@link ModifyableTableDescriptor} made from <code>bytes</code>
@see #toByteArray()
hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java