### Question:
EntityProperty extends BaseProperty<E> implements RelationshipProperty<E> { @Override public EntityProperty<E> outer() { return getName().endsWith("+") ? this : PropertyFactory.createEntity(getName() + "+", getType()); } protected  EntityProperty(String name, Expression expression, Class<E> type); Expression eqId(Object id); Expression inId(Collection<Object> ids); Expression inId(Object firstId, Object... moreIds); Expression neqId(Object id); Expression ninId(Collection<Object> ids); Expression ninId(Object firstId, Object... moreIds); @Override EntityProperty<E> alias(String alias); @Override EntityProperty<E> outer(); EntityProperty<E> enclosing();  }### Answer:
@Test public void outer() { assertEquals("path", property.getName()); assertEquals(ExpressionFactory.pathExp("path"), property.getExpression()); property = property.outer(); assertEquals("path+", property.getName()); assertEquals(ExpressionFactory.pathExp("path+"), property.getExpression()); property = property.outer(); assertEquals("path+", property.getName()); assertEquals(ExpressionFactory.pathExp("path+"), property.getExpression()); }