def _tree_load_link(self, new_traj_node, load_data, traj, as_new, hdf5_soft_link):
try:<EOL><INDENT>linked_group = hdf5_soft_link()<EOL>link_name = hdf5_soft_link._v_name<EOL>if (not link_name in new_traj_node._links or<EOL>load_data==pypetconstants.OVERWRITE_DATA):<EOL><INDENT>link_location = linked_group._v_pathname<EOL>full_name = '<STR_LIT:.>'.join(link_location.split('<STR_LIT:/>')[<NUM_LIT:2>:])<EOL>if not full_name in traj:<EOL><INDENT>self._tree_load_sub_branch(traj, full_name,<EOL>load_data=pypetconstants.LOAD_SKELETON,<EOL>with_links=False, recursive=False, _trajectory=traj,<EOL>_as_new=as_new, _hdf5_group=self._trajectory_group)<EOL><DEDENT>if (load_data == pypetconstants.OVERWRITE_DATA and<EOL>link_name in new_traj_node._links):<EOL><INDENT>new_traj_node.f_remove_link(link_name)<EOL><DEDENT>if not link_name in new_traj_node._links:<EOL><INDENT>new_traj_node._nn_interface._add_generic(new_traj_node,<EOL>type_name=nn.LINK,<EOL>group_type_name=nn.GROUP,<EOL>args=(link_name,<EOL>traj.f_get(full_name)),<EOL>kwargs={},<EOL>add_prefix=False,<EOL>check_naming=False)<EOL><DEDENT>else:<EOL><INDENT>raise RuntimeError('<STR_LIT>')<EOL><DEDENT><DEDENT><DEDENT>except pt.NoSuchNodeError:<EOL><INDENT>self._logger.error('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>' %<EOL>(hdf5_soft_link._v_name, new_traj_node.v_full_name))<EOL><DEDENT>
Loads a link

        :param new_traj_node: Node in traj containing link 
        :param load_data: How to load data in the linked node
        :param traj: The trajectory
        :param as_new: If data in linked node should be loaded as new
        :param hdf5_soft_link: The hdf5 soft link