package Ġutil . fuzz ing Ċ Ċ import Ġast . sp . interfaces . Behaviour Ċ import Ġast . sp . interfaces . SP Visitor Ċ import Ġast . sp . nodes .* Ċ import Ġjavax . naming . Operation NotSupportedException Ċ Ċ class ĠProcess Size : ĠSP Visitor < Int > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠCondition SP ): ĠInt Ġ= Ġn . then Behaviour . accept ( this ) Ġ+ Ġn . else Behaviour . accept ( this ) Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠNetwork ): ĠInt Ġ= Ġthrow ĠOperation NotSupportedException () ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠOffer ing SP ): ĠInt Ġ= Ġn . branches . values . sum By Ġ{ Ġit . accept ( this ) Ġ} Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠParallel Networks ): ĠInt Ġ= Ġthrow ĠOperation NotSupportedException () ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠProcedure Invocation SP ): ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠProcess Term ): ĠInt Ġ= Ġthrow ĠOperation NotSupportedException () ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠReceive SP ): ĠInt Ġ= Ġn . continu ation . accept ( this ) Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠSelection SP ): ĠInt Ġ= Ġn . continu ation . accept ( this ) Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠSend SP ): ĠInt Ġ= Ġn . continu ation . accept ( this ) Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( n : ĠTermin ation SP ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġvisit ( b : ĠBe haviour ): ĠInt Ġ= Ġb . accept ( this ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcompute ( b : Behaviour ): ĠInt Ġ= ĠProcess Size (). visit ( b ) ĊĠĠĠ Ġ} Ċ }