*/
public <TResult> java.util.List<TResult> analyze( final Class<TResult> clazz) throws java.io.IOException {
final StandardProxy proxy = locator.resolve(StandardProxy.class);
try {
return specification == null
? proxy.olapCube(clazz, cubeName, dimensions, facts, order).get()
: proxy.olapCube(clazz, cubeName, specification, dimensions, facts, order).get();
} catch (final InterruptedException e) {
throw new java.io.IOException(e);
} catch (final java.util.concurrent.ExecutionException e) {
throw new java.io.IOException(e);