Fixed NullPointerException in OPC UA connector

The `translateBrowsePathToNodeId()` method of didn't check for a
particular failure mode where the client returns `null` if the given
browse path doesn't exist.
A similar check for `getTargets().length == 0` did exist and
has been merged with the new check.
I don't know in which cases `targets` would be an array of zero length and in which cases it is `null`.

Signed-off-by: Moritz Marseu <moritz.marseu@festo.com>
Change-Id: I11bc9f09cd421453f907dd0620a9412930d5394c
diff --git a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/vab/protocol/opcua/connector/OpcUaConnector.java b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/vab/protocol/opcua/connector/OpcUaConnector.java
index 744a839..9683241 100644
--- a/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/vab/protocol/opcua/connector/OpcUaConnector.java
+++ b/sdks/java/basys.sdk/src/main/java/org/eclipse/basyx/vab/protocol/opcua/connector/OpcUaConnector.java
@@ -191,20 +191,20 @@
             CompletableFuture<TranslateBrowsePathsToNodeIdsResponse> result_parent = clientRunner
                     .translate(bp_parent_list);
             if (result_node.get().getResults().length == 0) {
-                logger.warn("TranslateBrowsePathsToNodeIdsResponse result size = 0, checkthe browse path!");
+                logger.warn("TranslateBrowsePathsToNodeIdsResponse result size = 0, check the browse path!");
                 return null;
             }
             if (result_node.get().getResults().length > 1) {
             	logger.warn("TranslateBrowsePathsToNodeIdsResponse result size > 1, the method returns only the first one!");
             }
+			if (result_node.get().getResults()[0].getTargets() == null || result_node.get().getResults()[0].getTargets().length == 0) {
+            	logger.warn("TranslateBrowsePathsToNodeIdsResponse targets size = 0, check the browse path!");
+				logger.trace(result_node.get().getResults()[0].getStatusCode().toString());
+				return null;
+            }
             if (result_node.get().getResults()[0].getTargets().length > 1) {
             	logger.warn("TranslateBrowsePathsToNodeIdsResponse targets size > 1, the method returns only the first one!");
             }
-            if (result_node.get().getResults()[0].getTargets().length == 0) {
-            	logger.warn("TranslateBrowsePathsToNodeIdsResponse targets size = 0, check the browse path!");
-                logger.trace(result_node.get().getResults()[0].getStatusCode().toString());
-                return null;
-            }
             Object nodeIdentifier = result_node.get().getResults()[0].getTargets()[0].getTargetId().getIdentifier();
             Object parentIdentifier = result_parent.get().getResults()[0].getTargets()[0].getTargetId().getIdentifier();
             UShort nodeNsIdx = result_node.get().getResults()[0].getTargets()[0].getTargetId().getNamespaceIndex();