code: public boolean hasBounceProxyBeenRegistered() {
  
          // startup reporting hasn't started
          if (!startupEventReported) {
              return false;
          }
  
          // startup reporting still ongoing - don't block this call!
          if (!startupReportFuture.isDone()) {
              return false;
          }
  
          // get result
          try {
              return startupReportFuture.get();
          } catch (InterruptedException e) {
              return false;
          } catch (ExecutionException e) {
              return false;
          } catch (CancellationException e) {
              // reporting was cancelled before startup could be reported
              return false;
          }
      }
docs: Gets whether the bounce proxy has been registered successfully at the
  bounce proxy controller. Successful registration means that a startup
  notification has been sent to the bounce proxy controller and the bounce
  proxy controller responded that the bounce proxy was registered.<br>
  This call is non-blocking, i.e. it won't wait for the bounce proxy to be
  registered.
  
  @return <code>true</code> if the bounce proxy has successfully been
  registered.<br>
  <code>false</code> if one of:
  <ul>
  <li>startup reporting hasn't started</li>
  <li>startup reporting is still ongoing</li>
  <li>startup reporting was cancelled before registration was
  successful</li>
  <li>the bounce proxy controller responds that the bounce proxy
  could not be registered for any reason</li>
  </ul>