code: public Report run(Map<String, Object> options, Closure profiled) {
          try {
              List refs = new ArrayList();
              try {
                  for (Field field : profiled.getClass().getDeclaredFields()) {
                      if (field.getType().equals(Reference.class)) {
                          field.setAccessible(true);
                          Reference ref = (Reference) field.get(profiled);
                          refs.add(ref);
                      }
                  }
              } catch(Exception e) {}
              refs.add(new Reference(profiled));
              refs.add(new Reference(profiled.getDelegate()));
              Map<String, Object> _options = new HashMap(options);
              _options.put("references", refs);
              options = null;
              start(_options);
              try {
                  profiled.call();
              } catch (Exception e) {
                  e.printStackTrace();
              }
              stop();
              return getReport();
          } finally {
              reset();
          }
      }
docs: Runs the specified closure and profiles it.
  @param options
  <ul>
  <li>includeMethods a method name to be included.</li>
  <li>excludeMethods a method name to be excluded.</li>
  <li>includeThreads a thread name to be included.</li>
  <li>excludeThreads a thread name to be excluded.</li>
  </ul>
  @param profiled
  a callable object to be run and profiled.
  @return the report