@Override public WriteEntryCallbackResult retrieveEntryResult(final WriteEntryCallbackContext context) { WriteEntryCallbackResult result = new WriteEntryCallbackResult(); try { if ("Employees".equals(context.getSourceEntitySet().getName())) { if ("ne_Room".equals(context.getNavigationProperty().getName())) { HashMap<String, ODataCallback> callbacks = new HashMap<String, ODataCallback>(); for (String navPropName : context .getSourceEntitySet() .getRelatedEntitySet(context.getNavigationProperty()) .getEntityType() .getNavigationPropertyNames()) { callbacks.put(navPropName, this); } EntityProviderWriteProperties inlineProperties = EntityProviderWriteProperties.serviceRoot(baseUri) .callbacks(callbacks) .expandSelectTree(context.getCurrentExpandSelectTreeNode()) .build(); result.setEntryData(dataProvider.getRoomData()); result.setInlineProperties(inlineProperties); } else if ("ne_Team".equals(context.getNavigationProperty().getName())) { result.setEntryData(null); } } } catch (EdmException e) { throw new ODataRuntimeException("EdmException:", e); } return result; }