### Question:
ListProperty extends CollectionProperty<V, List<V>> { @Override public ListProperty<V> outer() { return getName().endsWith("+") ? this : PropertyFactory.createList(getName() + "+", getEntityType()); } protected  ListProperty(String name, Expression expression, Class<V> entityType); @Override ListProperty<V> alias(String alias); @Override ListProperty<V> outer(); ListProperty<V> 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()); }