JAVA update(generic)

layout + build-impl