@Override protected T doInBackground(Void... params) { long startTime, endTime; T result = null; try { startTime = System.currentTimeMillis(); result = calculus.perform(); endTime = System.currentTimeMillis(); elapsedTime = endTime - startTime; return result; } catch (Exception e) { callback.ifFails(e); } return result; }