anchor.diff:  	    #state{}) -> gen_fsm_state_return().    
   %%--------------------------------------------------------------------
   hello(start, #state{host = Host, port = Port, role = client,
  -		    ssl_options = SslOpts, 
  -		    session = #session{own_certificate = Cert} = Session0,
  -		    session_cache = Cache, session_cache_cb = CacheCb,
  -		    transport_cb = Transport, socket = Socket,
  -		    connection_states = ConnectionStates0,
  -		    renegotiation = {Renegotiation, _}} = State0) ->
  +			      ssl_options = SslOpts, 
  +			      session = #session{own_certificate = Cert} = Session0,
  +			      session_cache = Cache, session_cache_cb = CacheCb,
  +			      transport_cb = Transport, socket = Socket,
  +			      connection_states = ConnectionStates0,
  +			      renegotiation = {Renegotiation, _}} = State0) ->
       Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates0, SslOpts,
   				       Cache, CacheCb, Renegotiation, Cert),
  -
  +    
       Version = Hello#client_hello.client_version,
       Handshake0 = ssl_handshake:init_handshake_history(),
       {BinMsg, ConnectionStates, Handshake} =
  
positive.code: %% mode before telling the client that it is willing to upgrade
  %% and before calling ssl:ssl_accept/2. These clauses are 
  %% here to make sure it is the users problem and not owers if
  %% they upgrade a active socket. 
  handle_sync_event(start, _, connection, State) ->
      {reply, connected, connection, State, get_timeout(State)};
  handle_sync_event(start, _From, error, {Error, State = #state{}}) ->
      {stop, {shutdown, Error}, {error, Error}, State};
  handle_sync_event(start, StartFrom, StateName, State) ->
      {next_state, StateName, State#state{start_or_recv_from = StartFrom}, get_timeout(State)};
  
  handle_sync_event(close, _, StateName, State) ->
  
negative.code:      State#state{send_queue = queue:in({From, Data}, Queue)},
       get_timeout(State)};
  
  handle_sync_event({start, Timeout} = Start, StartFrom, hello, State) ->
      start_or_recv_cancel_timer(Timeout, StartFrom),
      hello(start, State#state{start_or_recv_from = StartFrom});
  
  %% The two clauses below could happen if a server upgrades a socket in
  