@SuppressWarnings("unchecked")
	public <T> T executeTask(Task<T> t) throws RemoteException440 {
		
		String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
		
		/* save all arguments into an array */
		Object[] args = new Object[]{t};
		Class<?>[] argsType = new Class<?>[]{Task.class};
		/* declare return value */
		T ret = null;
		
		/* invoke method */
		try {
			ret = (T) super.invokeMethod(methodName, args, argsType);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return ret;

	}