code: @Override
      @CallerSideMethod public void onError(Throwable throwable) {
          if ( throwable == null )
              throw null;
          _onError(throwable);
      }
docs: callerside as spec expects error synchronously (wrong/inconsistent imo)