class SerializableCoder extends CustomCoder<T> {

  public static <T extends Serializable> SerializableCoder<T> of(TypeDescriptor<T> type) {
    @SuppressWarnings("unchecked")
    Class<T> clazz = (Class<T>) type.getRawType();
    return new SerializableCoder<>(clazz, type);
  }

  protected  SerializableCoder(Class<T> type, TypeDescriptor<T> typeDescriptor);

}