Clarification on "Java high-level REST client"

My understanding is that ElasticSearch provide API through HTTP protocol, the REST(ful) API and also though Transport protocol. I am guessing that Transport API is what is referred to as the Transport Client. I am also guessing that it is a Java API since Elastic run on Java.

While I may be wrong on my assumptions, the use of Java in "Java high-level REST client" confuses me. I know the API is written in Java, is this what is being referred to because normally I would be thinking of a Java client app that interact with Elastic Search via the REST API.

Please help me understand it. Thank you.

https://www.elastic.co/blog/state-of-the-official-elasticsearch-java-clients and https://www.elastic.co/blog/the-elasticsearch-java-high-level-rest-client-is-out should provide the right background information on why we are doing this and where it is headed in general.