FELIX-4768 : [RFC190/212] Reference can specify both method and field

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1653352 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java b/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
index 09d10cf..57d1b5f 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/helper/ComponentMethods.java
@@ -58,7 +58,13 @@
         {
             final String refName = referenceMetadata.getName();
             final ReferenceMethods methods;
-            if ( referenceMetadata.getField() != null )
+            if ( referenceMetadata.getField() != null && referenceMetadata.getBind() != null)
+            {
+                methods = new DuplexReferenceMethods(
+                        new FieldMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties),
+                        new BindMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties));
+            }
+            else if ( referenceMetadata.getField() != null )
             {
                 methods = new FieldMethods( referenceMetadata, implementationObjectClass, dsVersion, configurableServiceProperties);
             }