class StateDescriptor implements Serializable {

	public TypeSerializer<T> getSerializer() {
		if (serializer != null) {
			return serializer.duplicate();
		} else {
			throw new IllegalStateException("Serializer not yet initialized.");
		}
	}

	protected  StateDescriptor(String name, TypeSerializer<T> serializer, @Nullable T defaultValue);
	protected  StateDescriptor(String name, TypeInformation<T> typeInfo, @Nullable T defaultValue);
	protected  StateDescriptor(String name, Class<T> type, @Nullable T defaultValue);

}