code: public Form getSearchForm(DomainBareJid serviceJID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException  {
          TranscriptSearch search = new TranscriptSearch();
          search.setType(IQ.Type.get);
          search.setTo(serviceJID);
  
          TranscriptSearch response = connection.createStanzaCollectorAndSend(
                          search).nextResultOrThrow();
          return Form.getFormFrom(response);
      }
docs: Returns the Form to use for searching transcripts. It is unlikely that the server
  will change the form (without a restart) so it is safe to keep the returned form
  for future submissions.
  
  @param serviceJID the address of the workgroup service.
  @return the Form to use for searching transcripts.
  @throws XMPPErrorException
  @throws NoResponseException
  @throws NotConnectedException
  @throws InterruptedException