code: private void hangOut( final RequestCallInfo req, GenericJSO hangOut )
  	{
  		final int hangOutId = hangOut.getIntByIdx( 0 );
  
  		JsArrayString tmp = hangOut.getGenericJSOByIdx( 1 ).cast();
  		String name = tmp.get( 0 );
  		String type = tmp.get( 1 );
  		String title = tmp.get( 2 );
  		String description = tmp.get( 3 );
  		JavaScriptObject hangOutCurrentData = hangOut.getGenericJSOByIdx( 2 );
  
  		callback.hangOut( title, description, name, type, hangOutCurrentData, new IAsyncCallback<JavaScriptObject>()
  		{
  			@Override
  			public void onSuccess( JavaScriptObject result )
  			{
  				JSONArray params = new JSONArray();
  				params.set( 0, new JSONNumber( hangOutId ) );
  				params.set( 1, new JSONObject( result ) );
  				req.request = new RequestDesc( req.request.service, req.request.interfaceChecksum, "_hang_out_reply_", params );
  
  				sendRequest( req.request, req.cookie, req.callback );
  			}
  		} );
  	}
docs: over the network