code: public void processResponse(Object results, Object status) {
          ElevationStatus pStatus = ElevationStatus.UNKNOWN_ERROR;
          
          if (status instanceof String && results instanceof JSObject) {
              pStatus = ElevationStatus.valueOf((String) status);
              if (ElevationStatus.OK.equals(pStatus)) {
                  JSObject jsres = (JSObject) results;
                  Object len = jsres.getMember("length");
                  if (len instanceof Number) {
                      int n = ((Number)len).intValue();
                      ElevationResult[] ers = new ElevationResult[n];
                      for (int i = 0; i < n; i++) {
                          Object obj = jsres.getSlot(i);
                          if (obj instanceof JSObject) {
                              ers[i] = new ElevationResult((JSObject) obj);
                          }
                      }
                      callback.elevationsReceived(ers, pStatus);
                      return;
                  }
              }
          }
          callback.elevationsReceived(new ElevationResult[]{}, pStatus);
      }
docs: Processess the Javascript response and generates the required objects
  that are then passed back to the original callback.
  
  @param results
  @param status