Here you can find the source of call(final Callable
public final static <T> T call(final Callable<T> c)
//package com.java2s; /**// w w w . j a v a2 s . c o m * The contents of this file are subject to the Regenstrief Public License * Version 1.0 (the "License"); you may not use this file except in compliance with the License. * Please contact Regenstrief Institute if you would like to obtain a copy of the license. * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * Copyright (C) Regenstrief Institute. All Rights Reserved. */ import java.util.concurrent.Callable; public class Main { public final static <T> T call(final Callable<T> c) { try { return c == null ? null : c.call(); } catch (final Exception e) { throw toRuntimeException(e); } } /** * Creates a RuntimeException from the Throwable if it isn't already a RuntimeException * * @param e the Throwable * @return the RuntimeException **/ public final static RuntimeException toRuntimeException(final Throwable e) { if (e == null) { // Without this check, toRuntimeException(e.getCause()) creates a confusing RuntimeException if cause is null return new NullPointerException("Problem without an Exception"); } return e instanceof RuntimeException ? (RuntimeException) e : new RuntimeException(e); } }