public int hashCode() {
   int result;
   result = dataText.hashCode();
   result = 29 * result + direction.hashCode();
   result = 29 * result + dataPathBrowser.hashCode();
   return result;
 }
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof Data2DataPathWidgetAdapter2)) return false;

    final Data2DataPathWidgetAdapter2 data2DataPathWidgetAdapter2 = (Data2DataPathWidgetAdapter2) o;

    if (!dataPathBrowser.equals(data2DataPathWidgetAdapter2.dataPathBrowser)) return false;
    if (!dataText.equals(data2DataPathWidgetAdapter2.dataText)) return false;
    if (!direction.equals(data2DataPathWidgetAdapter2.direction)) return false;

    return true;
  }
 private void updateDataPathData(ISelection selection, DirectionType direction) {
   ITypedElement data = null;
   if (selection instanceof IStructuredSelection) {
     IStructuredSelection structuredSelection = (IStructuredSelection) selection;
     if (!structuredSelection.isEmpty()) {
       data = (ITypedElement) structuredSelection.getFirstElement();
     }
   }
   if (null != dataPathBrowser) {
     dataPathBrowser.setAccessPoint(data, direction);
   }
 }