Implement notify without properties argument (server and client)
diff --git a/bundles/org.eclipse.rap.addons.dropdown.viewer/js/rwt/remote/Model.js b/bundles/org.eclipse.rap.addons.dropdown.viewer/js/rwt/remote/Model.js
index 2c73007..1125872 100644
--- a/bundles/org.eclipse.rap.addons.dropdown.viewer/js/rwt/remote/Model.js
+++ b/bundles/org.eclipse.rap.addons.dropdown.viewer/js/rwt/remote/Model.js
@@ -90,9 +90,13 @@
 
   var notifyInternal = function( model, type, properties ) {
     var listeners = model._.listeners[ type ];
+    var args = [ model ];
+    if( properties ) {
+      args.push( properties )
+    }
     if( listeners instanceof Array ) {
       for( var i = 0; listeners && i < listeners.length; i++ ) {
-        listeners[ i ]( model, properties );
+        listeners[ i ].apply( listeners[ i ], args );
       }
     }
   };
diff --git a/bundles/org.eclipse.rap.addons.dropdown/src/org/eclipse/rap/addons/dropdown/internal/Model.java b/bundles/org.eclipse.rap.addons.dropdown/src/org/eclipse/rap/addons/dropdown/internal/Model.java
index 6ef6fc3..2292234 100644
--- a/bundles/org.eclipse.rap.addons.dropdown/src/org/eclipse/rap/addons/dropdown/internal/Model.java
+++ b/bundles/org.eclipse.rap.addons.dropdown/src/org/eclipse/rap/addons/dropdown/internal/Model.java
@@ -69,11 +69,17 @@
     }
   }
 
-  public void notify( String string, JsonObject argument ) {
-    notifyInternal( string, argument );
+  public void notify( String event ) {
+    notify( event, null );
+  }
+
+  public void notify( String event, JsonObject properties ) {
+    notifyInternal( event, properties );
     JsonObject callProperties = new JsonObject();
-    callProperties.add( "event", "foo" );
-    callProperties.add( "properties", argument );
+    callProperties.add( "event", event );
+    if( properties != null ) {
+      callProperties.add( "properties", properties );
+    }
     callProperties.add( "nosync", true );
     remoteObject.call( "notify", callProperties );
   }
diff --git a/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/remote/Model_Test.js b/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/remote/Model_Test.js
index 517973b..7f3a4ae 100644
--- a/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/remote/Model_Test.js
+++ b/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/remote/Model_Test.js
@@ -88,6 +88,19 @@
       assertEquals( { "foo" : "bar" }, log[ 0 ][ 1 ] );
     },
 
+    testAddListener_NoPropertiesInListenerArguments : function() {
+      var log = [];
+      var logger = function() {
+        log.push( arguments );
+      };
+      model.addListener( "Selection", logger );
+
+      model.notify( { "event" : "Selection", "nosync" : true } );
+
+      assertEquals( 1, log[ 0 ].length );
+      assertIdentical( model, log[ 0 ][ 0 ] );
+    },
+
     testAddListener_IgnoreAddTwice : function() {
       var logger = TestUtil.getLogger();
       model.addListener( "Selection", logger.log );
diff --git a/tests/org.eclipse.rap.addons.dropdown.test/src/org/eclipse/rap/addons/dropdown/internal/Model_Test.java b/tests/org.eclipse.rap.addons.dropdown.test/src/org/eclipse/rap/addons/dropdown/internal/Model_Test.java
index 7db0811..5cc78b7 100644
--- a/tests/org.eclipse.rap.addons.dropdown.test/src/org/eclipse/rap/addons/dropdown/internal/Model_Test.java
+++ b/tests/org.eclipse.rap.addons.dropdown.test/src/org/eclipse/rap/addons/dropdown/internal/Model_Test.java
@@ -18,6 +18,7 @@
 import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.isNull;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -289,6 +290,16 @@
   }
 
   @Test
+  public void testNotify_CallServerWithourProperties() {
+    ModelListener listener = mock( ModelListener.class );
+    model.addListener( "foo", listener );
+
+    model.notify( "foo" );
+
+    verify( listener ).handleEvent( isNull( JsonObject.class ) );
+  }
+
+  @Test
   public void testNotify_RenderCallNotify() {
     JsonObject argument = new JsonObject();
     argument.add( "arg", "value" );
@@ -302,5 +313,15 @@
     verify( remoteObject ).call( eq( "notify" ), eq( expected ) );
   }
 
+  @Test
+  public void testNotify_RenderCallNotifyWithoutProperties() {
+    model.notify( "foo" );
+
+    JsonObject expected = new JsonObject();
+    expected.add( "event", "foo" );
+    expected.add( "nosync", true );
+    verify( remoteObject ).call( eq( "notify" ), eq( expected ) );
+  }
+
 
 }