private static Reflect on(Method method,Object object,Object... args) throws ReflectException {
  try {
    accessible(method);
    if (method.getReturnType() == void.class) {
      method.invoke(object,args);
      return on(object);
    }
 else {
      return on(method.invoke(object,args));
    }
  }
 catch (  Exception e) {
    throw new ReflectException(e);
  }
}

private static Reflect on ( Method method , Object object , Object ... args ) throws ReflectException { try { accessible ( method ) ; if ( method . getReturnType ( ) == void . class ) { method . invoke ( object , args ) ; return on ( object ) ; } else { return on ( method . invoke ( object , args ) ) ; } } catch ( Exception e ) { throw new ReflectException ( e ) ; } }
wrap an object returned from a method
