public static DataContext getDataContext(Object widget) { if (widget == null) { return null; } try { Object dataContext = XWT.getDataContext(widget); Map<?, ?> resources = UserData.getResources(widget); if (resources == null) { return null; } if (dataContext != null && !resources.isEmpty()) { Set<?> entrySet = resources.entrySet(); for (Object object : entrySet) { Entry<?, ?> entry = (Entry<?, ?>) object; Object value = entry.getValue(); if (!dataContext.equals(value)) { continue; } Object key = entry.getKey(); return new DataContext(key.toString(), value); } } else { Set<?> entrySet = resources.entrySet(); for (Object object : entrySet) { Entry<?, ?> entry = (Entry<?, ?>) object; Object key = entry.getKey(); Object value = entry.getValue(); return new DataContext(key.toString(), value); } } } catch (Exception e) { e.printStackTrace(); } return null; }