sig
  type t = java'util'concurrent'CyclicBarrier java_instance
  val make : java_int -> CyclicBarrier.t
  val await : CyclicBarrier.t -> java_int
  val await_time : CyclicBarrier.t -> java_long -> TimeUnit.t -> java_int
  val get_number_waiting : CyclicBarrier.t -> java_int
  val get_parties : CyclicBarrier.t -> java_int
  val is_broken : CyclicBarrier.t -> bool
  val reset : CyclicBarrier.t -> unit
  val null : CyclicBarrier.t
  external is_null : CyclicBarrier.t -> bool = "java is_null"
  external is_not_null : CyclicBarrier.t -> bool = "java is_not_null"
  val wrap : CyclicBarrier.t -> CyclicBarrier.t option
  val unwrap : CyclicBarrier.t option -> CyclicBarrier.t
end