code: public ActionResult performAction(
              String name,
              AmazonWebServiceRequest request,
              ResultCapture<?> extractor) {
  
          ActionModel action = resourceModel.getAction(name);
          if (action == null) {
              throw new UnsupportedOperationException(
                      "Resource does not support the action " + name);
          }
  
          // The facade generator will ensure we only ever pass in an
          // appropriately-typed extractor object.
          @SuppressWarnings("unchecked")
          ResultCapture<Object> erasedExtractor =
                  (ResultCapture<Object>) extractor;
  
          return ActionUtils.perform(this, action, request, erasedExtractor);
      }
docs: Performs the given action on this resource. This always involves a
  request to the service. It may mark the cached attributes of this
  resource object dirty.
  
  @param name the name of the action to perform
  @param request the client-specified request object
  @param extractor an optional result extractor object
  @return the result of executing the action