public static Object[] getActionArgsArray(Action action) {
   Object[] myArray = new Object[action.getArgs().size()];
   int i = 0;
   for (MyMapArgsEntryType entry : action.getArgs()) {
     myArray[i] = entry.getValue();
     i++;
   }
   return myArray;
 }
  public static Ref getActionReferences(Action action, QueryResults results) {
    if (results.size() == 0) {
      return null;
    }
    Map<String, Object> map = new HashMap<String, Object>();

    org.drools.QueryResults inner = ((NativeQueryResults) results).getResults();

    List<MyMapReferenceEntryType> pointers = action.getReferences();
    Declaration[] params = inner.getParameters();

    for (MyMapReferenceEntryType entry : pointers) {
      Declaration dec = params[entry.getKey()];
      map.put(entry.getValue(), inner.get(0).get(dec.getIdentifier()));
    }
    Ref ref = new Ref();
    ref.setReferences(MapArgsAdapterHelper.marshal(map));
    return ref;
  }