Java agent