http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderComposableInvoker.java
new file mode 100644
index 0000000..9a66c00
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderComposableInvoker.java
@@ -0,0 +1,163 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface OrderComposableInvoker 
+  extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Order, 
Order.Operations>
+   {
+
+  @Override
+  OrderComposableInvoker select(String... select);
+
+  @Override
+  OrderComposableInvoker expand(String... expand);
+
+    
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "OrderID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getOrderID();
+
+    void setOrderID(java.lang.Integer _orderID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "OrderDate", 
+                type = "Edm.DateTimeOffset", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.sql.Timestamp getOrderDate();
+
+    void setOrderDate(java.sql.Timestamp _orderDate);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ShelfLife", 
+                type = "Edm.Duration", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.math.BigDecimal getShelfLife();
+
+    void setShelfLife(java.math.BigDecimal _shelfLife);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"OrderShelfLifes", 
+                type = "Edm.Duration", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.math.BigDecimal> 
getOrderShelfLifes();
+
+    void 
setOrderShelfLifes(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.math.BigDecimal>
 _orderShelfLifes);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"LoggedInEmployee", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Employee", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Employees",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Employee
 getLoggedInEmployee();
+
+    void 
setLoggedInEmployee(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Employee
 _loggedInEmployee);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"CustomerForOrder", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Customer", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Customers",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer
 getCustomerForOrder();
+
+    void 
setCustomerForOrder(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer
 _customerForOrder);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"OrderDetails", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.OrderDetail", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "OrderDetails",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.OrderDetailCollection
 getOrderDetails();
+
+    void 
setOrderDetails(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.OrderDetailCollection
 _orderDetails);
+    
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
new file mode 100644
index 0000000..5dfef79
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface OrderDetailCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.OrderDetailCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.OrderDetailCollection.Operations>
 {
+
+  @Override
+  OrderDetailCollectionComposableInvoker select(String... select);
+
+  @Override
+  OrderDetailCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailComposableInvoker.java
new file mode 100644
index 0000000..83b2393
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailComposableInvoker.java
@@ -0,0 +1,176 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface OrderDetailComposableInvoker 
+  extends 
org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<OrderDetail, 
OrderDetail.Operations>
+   {
+
+  @Override
+  OrderDetailComposableInvoker select(String... select);
+
+  @Override
+  OrderDetailComposableInvoker expand(String... expand);
+
+        
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "OrderID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getOrderID();
+
+    void setOrderID(java.lang.Integer _orderID);
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductID();
+
+    void setProductID(java.lang.Integer _productID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"OrderPlaced", 
+                type = "Edm.DateTimeOffset", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.sql.Timestamp getOrderPlaced();
+
+    void setOrderPlaced(java.sql.Timestamp _orderPlaced);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Quantity", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getQuantity();
+
+    void setQuantity(java.lang.Integer _quantity);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UnitPrice", 
+                type = "Edm.Single", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Float getUnitPrice();
+
+    void setUnitPrice(java.lang.Float _unitPrice);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"ProductOrdered", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Product", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Products",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection
 getProductOrdered();
+
+    void 
setProductOrdered(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection
 _productOrdered);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"AssociatedOrder", 
+                type = "Microsoft.Test.OData.Services.ODataWCFService.Order", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Orders",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Order
 getAssociatedOrder();
+
+    void 
setAssociatedOrder(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Order
 _associatedOrder);
+    
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
new file mode 100644
index 0000000..df82571
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface PaymentInstrumentCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrumentCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrumentCollection.Operations>
 {
+
+  @Override
+  PaymentInstrumentCollectionComposableInvoker select(String... select);
+
+  @Override
+  PaymentInstrumentCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
new file mode 100644
index 0000000..5860528
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
@@ -0,0 +1,150 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface PaymentInstrumentComposableInvoker 
+  extends 
org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<PaymentInstrument, 
PaymentInstrument.Operations>
+   {
+
+  @Override
+  PaymentInstrumentComposableInvoker select(String... select);
+
+  @Override
+  PaymentInstrumentComposableInvoker expand(String... expand);
+
+    
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"PaymentInstrumentID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getPaymentInstrumentID();
+
+    void setPaymentInstrumentID(java.lang.Integer _paymentInstrumentID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"FriendlyName", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getFriendlyName();
+
+    void setFriendlyName(java.lang.String _friendlyName);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"CreatedDate", 
+                type = "Edm.DateTimeOffset", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.sql.Timestamp getCreatedDate();
+
+    void setCreatedDate(java.sql.Timestamp _createdDate);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"TheStoredPI", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.StoredPI", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "StoredPIs",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StoredPI
 getTheStoredPI();
+
+    void 
setTheStoredPI(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StoredPI
 _theStoredPI);
+    
+        
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"BackupStoredPI", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.StoredPI", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "StoredPIs",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StoredPI
 getBackupStoredPI();
+
+    void 
setBackupStoredPI(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StoredPI
 _backupStoredPI);
+    
+
+      @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"BillingStatements", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.StoredPI", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "StoredPIs",
+                containsTarget = true)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument.BillingStatements
 getBillingStatements();
+    void 
setBillingStatements(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument.BillingStatements
 _billingStatements);
+
+            
+    
+    @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = 
"BillingStatements", contained = true)
+    interface BillingStatements 
+      extends 
org.apache.olingo.ext.proxy.api.EntitySet<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Statement,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StatementCollection>,
 
+      
org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<BillingStatements>,
+      
AbstractEntitySet<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Statement,
 java.lang.Integer, 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.StatementCollection>
 {
+    }
+
+  }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollectionComposableInvoker.java
new file mode 100644
index 0000000..beabfc0
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface PersonCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PersonCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PersonCollection.Operations>
 {
+
+  @Override
+  PersonCollectionComposableInvoker select(String... select);
+
+  @Override
+  PersonCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonComposableInvoker.java
new file mode 100644
index 0000000..9be111c
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonComposableInvoker.java
@@ -0,0 +1,235 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface PersonComposableInvoker 
+  extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Person, 
Person.Operations>
+   {
+
+  @Override
+  PersonComposableInvoker select(String... select);
+
+  @Override
+  PersonComposableInvoker expand(String... expand);
+
+    
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getPersonID();
+
+    void setPersonID(java.lang.Integer _personID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "FirstName", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getFirstName();
+
+    void setFirstName(java.lang.String _firstName);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "LastName", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getLastName();
+
+    void setLastName(java.lang.String _lastName);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "MiddleName", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getMiddleName();
+
+    void setMiddleName(java.lang.String _middleName);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"HomeAddress", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Address", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address
 getHomeAddress();
+
+    void 
setHomeAddress(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address
 _homeAddress);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Home", 
+                type = "Edm.GeographyPoint", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.commons.api.edm.geo.Point getHome();
+
+    void setHome(org.apache.olingo.commons.api.edm.geo.Point _home);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Numbers", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> 
getNumbers();
+
+    void 
setNumbers(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String>
 _numbers);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Emails", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> 
getEmails();
+
+    void 
setEmails(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> 
_emails);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Parent", 
+                type = "Microsoft.Test.OData.Services.ODataWCFService.Person", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "People",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person
 getParent();
+
+    void 
setParent(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person
 _parent);
+    
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollectionComposableInvoker.java
new file mode 100644
index 0000000..12cfa45
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface ProductCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection.Operations>
 {
+
+  @Override
+  ProductCollectionComposableInvoker select(String... select);
+
+  @Override
+  ProductCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductComposableInvoker.java
new file mode 100644
index 0000000..0a22844
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductComposableInvoker.java
@@ -0,0 +1,258 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface ProductComposableInvoker 
+  extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Product, 
Product.Operations>
+   {
+
+  @Override
+  ProductComposableInvoker select(String... select);
+
+  @Override
+  ProductComposableInvoker expand(String... expand);
+
+    
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductID();
+
+    void setProductID(java.lang.Integer _productID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getName();
+
+    void setName(java.lang.String _name);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"QuantityPerUnit", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getQuantityPerUnit();
+
+    void setQuantityPerUnit(java.lang.String _quantityPerUnit);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UnitPrice", 
+                type = "Edm.Single", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Float getUnitPrice();
+
+    void setUnitPrice(java.lang.Float _unitPrice);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"QuantityInStock", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getQuantityInStock();
+
+    void setQuantityInStock(java.lang.Integer _quantityInStock);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"Discontinued", 
+                type = "Edm.Boolean", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Boolean getDiscontinued();
+
+    void setDiscontinued(java.lang.Boolean _discontinued);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UserAccess", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.AccessLevel", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel
 getUserAccess();
+
+    void 
setUserAccess(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel
 _userAccess);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "SkinColor", 
+                type = "Microsoft.Test.OData.Services.ODataWCFService.Color", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color
 getSkinColor();
+
+    void 
setSkinColor(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color
 _skinColor);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"CoverColors", 
+                type = "Microsoft.Test.OData.Services.ODataWCFService.Color", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.ext.proxy.api.PrimitiveCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color>
 getCoverColors();
+
+    void 
setCoverColors(org.apache.olingo.ext.proxy.api.PrimitiveCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color>
 _coverColors);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Details", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.ProductDetail", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "ProductDetails",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection
 getDetails();
+
+    void 
setDetails(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection
 _details);
+    
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
new file mode 100644
index 0000000..9c2d5c4
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface ProductDetailCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection.Operations>
 {
+
+  @Override
+  ProductDetailCollectionComposableInvoker select(String... select);
+
+  @Override
+  ProductDetailCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailComposableInvoker.java
new file mode 100644
index 0000000..c519433
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailComposableInvoker.java
@@ -0,0 +1,153 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface ProductDetailComposableInvoker 
+  extends 
org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<ProductDetail, 
ProductDetail.Operations>
+   {
+
+  @Override
+  ProductDetailComposableInvoker select(String... select);
+
+  @Override
+  ProductDetailComposableInvoker expand(String... expand);
+
+        
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductID();
+
+    void setProductID(java.lang.Integer _productID);
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"ProductDetailID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductDetailID();
+
+    void setProductDetailID(java.lang.Integer _productDetailID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"ProductName", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getProductName();
+
+    void setProductName(java.lang.String _productName);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"Description", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getDescription();
+
+    void setDescription(java.lang.String _description);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"RelatedProduct", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Product", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Products",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product
 getRelatedProduct();
+
+    void 
setRelatedProduct(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product
 _relatedProduct);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Reviews", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.ProductReview", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "ProductReviews",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductReviewCollection
 getReviews();
+
+    void 
setReviews(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductReviewCollection
 _reviews);
+    
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollectionComposableInvoker.java
new file mode 100644
index 0000000..cf042d7
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface ProductReviewCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductReviewCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductReviewCollection.Operations>
 {
+
+  @Override
+  ProductReviewCollectionComposableInvoker select(String... select);
+
+  @Override
+  ProductReviewCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewComposableInvoker.java
new file mode 100644
index 0000000..344ef7d
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewComposableInvoker.java
@@ -0,0 +1,179 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface ProductReviewComposableInvoker 
+  extends 
org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<ProductReview, 
ProductReview.Operations>
+   {
+
+  @Override
+  ProductReviewComposableInvoker select(String... select);
+
+  @Override
+  ProductReviewComposableInvoker expand(String... expand);
+
+                
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductID();
+
+    void setProductID(java.lang.Integer _productID);
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"ProductDetailID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getProductDetailID();
+
+    void setProductDetailID(java.lang.Integer _productDetailID);
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"ReviewTitle", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getReviewTitle();
+
+    void setReviewTitle(java.lang.String _reviewTitle);
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "RevisionID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getRevisionID();
+
+    void setRevisionID(java.lang.Integer _revisionID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Comment", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getComment();
+
+    void setComment(java.lang.String _comment);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Author", 
+                type = "Edm.String", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getAuthor();
+
+    void setAuthor(java.lang.String _author);
+    
+
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollectionComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollectionComposableInvoker.java
new file mode 100644
index 0000000..2594625
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+
+//CHECKSTYLE:OFF (Maven checkstyle)
+
+
+public interface PublicCompanyCollectionComposableInvoker extends 
+    
org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PublicCompanyCollection,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PublicCompanyCollection.Operations>
 {
+
+  @Override
+  PublicCompanyCollectionComposableInvoker select(String... select);
+
+  @Override
+  PublicCompanyCollectionComposableInvoker expand(String... expand);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/c0b92cf0/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyComposableInvoker.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyComposableInvoker.java
 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyComposableInvoker.java
new file mode 100644
index 0000000..34516c4
--- /dev/null
+++ 
b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyComposableInvoker.java
@@ -0,0 +1,260 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
+//CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.client.api.edm.ConcurrencyMode;
+//CHECKSTYLE:ON (Maven checkstyle)
+
+public interface PublicCompanyComposableInvoker 
+  extends 
org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<PublicCompany, 
PublicCompany.Operations>
+  ,AbstractOpenType {
+
+  @Override
+  PublicCompanyComposableInvoker select(String... select);
+
+  @Override
+  PublicCompanyComposableInvoker expand(String... expand);
+
+    
+
+    @Key
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CompanyID", 
+                type = "Edm.Int32", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Integer getCompanyID();
+
+    void setCompanyID(java.lang.Integer _companyID);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"CompanyCategory", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.CompanyCategory", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory
 getCompanyCategory();
+
+    void 
setCompanyCategory(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory
 _companyCategory);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Revenue", 
+                type = "Edm.Int64", 
+                nullable = false,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.Long getRevenue();
+
+    void setRevenue(java.lang.Long _revenue);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getName();
+
+    void setName(java.lang.String _name);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Address", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Address", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address
 getAddress();
+
+    void 
setAddress(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address
 _address);
+    
+    
+    @org.apache.olingo.ext.proxy.api.annotations.Property(name = 
"StockExchange", 
+                type = "Edm.String", 
+                nullable = true,
+                defaultValue = "",
+                maxLenght = Integer.MAX_VALUE,
+                fixedLenght = false,
+                precision = 0,
+                scale = 0,
+                unicode = true,
+                collation = "",
+                srid = "",
+                concurrencyMode = ConcurrencyMode.None,
+                fcSourcePath = "",
+                fcTargetPath = "",
+                fcContentKind = EdmContentKind.text,
+                fcNSPrefix = "",
+                fcNSURI = "",
+                fcKeepInContent = false)
+    java.lang.String getStockExchange();
+
+    void setStockExchange(java.lang.String _stockExchange);
+    
+
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Employees", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Employee", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Employees",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.EmployeeCollection
 getEmployees();
+
+    void 
setEmployees(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.EmployeeCollection
 _employees);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"VipCustomer", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Customer", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "VipCustomer",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer
 getVipCustomer();
+
+    void 
setVipCustomer(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer
 _vipCustomer);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Departments", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Department", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Departments",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.DepartmentCollection
 getDepartments();
+
+    void 
setDepartments(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.DepartmentCollection
 _departments);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"CoreDepartment", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.Department", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "Departments",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Department
 getCoreDepartment();
+
+    void 
setCoreDepartment(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Department
 _coreDepartment);
+    
+        
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Club", 
+                type = "Microsoft.Test.OData.Services.ODataWCFService.Club", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "", 
+                targetEntitySet = "",
+                containsTarget = true)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club
 getClub();
+
+    void 
setClub(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club
 _club);
+    
+    @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"LabourUnion", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.LabourUnion", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "LabourUnion",
+                containsTarget = false)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.LabourUnion
 getLabourUnion();
+
+    void 
setLabourUnion(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.LabourUnion
 _labourUnion);
+    
+
+      @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = 
"Assets", 
+                type = 
"Microsoft.Test.OData.Services.ODataWCFService.LabourUnion", 
+                targetSchema = 
"Microsoft.Test.OData.Services.ODataWCFService", 
+                targetContainer = "InMemoryEntities", 
+                targetEntitySet = "LabourUnion",
+                containsTarget = true)
+    
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PublicCompany.Assets
 getAssets();
+    void 
setAssets(org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PublicCompany.Assets
 _assets);
+
+            
+    
+    @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Assets", 
contained = true)
+    interface Assets 
+      extends 
org.apache.olingo.ext.proxy.api.EntitySet<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset,
 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection>,
 
+      org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<Assets>,
+      
AbstractEntitySet<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset,
 java.lang.Integer, 
org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection>
 {
+    }
+
+  }

Reply via email to