code: void registerSynchronousRequest(Object context, String input, Object frame, String stateName) {
          Action action = (Action)frame;
          AmqpMethod amqpMethod = (AmqpMethod)action.args[1];
          if (amqpMethod.synchronous) {
              asyncClient.setWaitingAction(action);
          }
          else {
              // method is not synchronous
          }
      }
docs: registerSynchronousRequest puts the client into a waiting state that will be able to call the continuation for a method that expects a particular
  synchronous response This also lets us call the error cb when there is a close frame (which AMQP uses to raise exceptions) with a reason why the last
  command failed.