add generic java function