anchor.diff:  		method_order :: [ocs:eap_method()],
   		simple_auth_sup :: undefined | pid(),
   		pwd_sup :: undefined | pid(),
  +		cb_fsms = gb_trees:empty() :: gb_trees:tree(
  +				Key :: (AuthFsm :: pid()), Value :: (CbFsm :: pid())),
   		handlers = gb_trees:empty() :: gb_trees:tree(
   				Key :: (SessionId :: string()), Value :: (Fsm :: pid()))}).
   
  
positive.code: 								NewEapPacket = #eap_packet{code = response,
  										type = ?Identity, identifier = EapId, data = <<>>},
  								NewEapMessage = ocs_eap_codec:eap_packet(NewEapPacket),
  								{Fsm1, NewState} = start_fsm(Sup, 5, SessionId, AuthType,
  										OHost, ORealm, [], State),
  								Request1 = #diameter_eap_app_DER{'Session-Id' = SessionId,
  										'Auth-Application-Id' = 5, 'Auth-Request-Type' = AuthType,
  										'Origin-Host' = OHost, 'Origin-Realm' = ORealm,
  										'Destination-Realm' = <<>>, 'EAP-Payload' = NewEapMessage},
  								Answer3 = gen_fsm:sync_send_event(Fsm1, Request1),
  								{reply, Answer3, NewState};
  							{error, none} ->
  								NewEapPacket = #eap_packet{code = failure, identifier = EapId},
  								NewEapMessage = ocs_eap_codec:eap_packet(NewEapPacket),
  
negative.code: %% 	gen_server:multi_call/2,3,4}.
  %% @see //stdlib/gen_server:handle_call/3
  %% @private
  handle_call({diameter_request, Caps, Request, Eap}, {CbFsm, _Tag}= _From, State) ->
  	request(Caps, Eap, Request, CbFsm, State).
  
  -spec handle_cast(Request, State) -> Result
  	when
  