diff --git a/NOTICE b/NOTICE
index c2b4544..759ec1d 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Wicket
-Copyright 2006-2016 The Apache Software Foundation
+Copyright 2006-2019 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
@@ -12,21 +12,62 @@
     AUTOMATICALLY INCLUDE THE NOTICE IN THIS FILE.
 
 ---------------------------------------------------------------------------
-src/./wicket-guice
+src/./wicket-core
 ---------------------------------------------------------------------------
    Apache Wicket
-   Copyright 2006-2012 Apache Software Foundation
+   Copyright 2006-2016 Apache Software Foundation
 
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
 
-   This product includes Guice, developed at Google, and licensed
-   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
+   This product includes software from QOS.ch (http://slf4j.org) licensed under the X11 license
+   Copyright (c) 2004-2008 QOS.ch
+   
+   Contains Diff library from Mavens JRCS, released under
+   The Apache Software License, Version 1.1.
+   (c) 1999-2003
+
+   org.apache.wicket.markup.html.form.upload.MultiFileUploadField.js is taken from [1]
+   and has the following notice:
+      "Licence:
+       Use this however/wherever you like, just don't blame me if it breaks
+       anything.
+
+       Credit:
+       If you're nice, you'll leave this bit:
+
+       Class by Stickman -- http://www.the-stickman.com
+       with thanks to:
+       [for Safari fixes]
+          Luis Torrefranca -- http://www.law.pitt.edu
+          and
+          Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com
+       [for duplicate name bug]
+          'neal'"
+   [1]: http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
+
+---------------------------------------------------------------------------
+src/./wicket-datetime
+---------------------------------------------------------------------------
+   Apache Wicket Date Time
+   Copyright 2006-2016 Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+   
+   Contains code of the Yahoo User Interface library (version: 2.8.2r1),
+   released under the BSD License:
+   http://developer.yahoo.net/yui/license.txt
+   Copyright (c) 2010, Yahoo! Inc.
+
+   This product includes software developed by
+   Joda.org (http://www.joda.org/).
+   
 ---------------------------------------------------------------------------
 src/./wicket-examples
 ---------------------------------------------------------------------------
    Apache Wicket Examples
-   Copyright 2006-2012 Apache Software Foundation
+   Copyright 2006-2016 Apache Software Foundation
 
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
@@ -65,62 +106,17 @@
    This product includes jhighlight (https://jhighlight.dev.java.net/)
    which is released under CDDL 1.0 license (http://www.opensource.org/licenses/cddl1.php).
 
+   Contains jquery.js javascript library released under a MIT style license.
+   jQuery Foundation, Inc, http://jquery.org/license
+
+   Contains qunit.js javascript library released under a MIT style license.
+   jQuery Foundation, Inc, http://jquery.org/license
+
+   Contains qunit.css released under a MIT style license.
+   jQuery Foundation, Inc, http://jquery.org/license
 ---------------------------------------------------------------------------
-src/./wicket-core
+src/./wicket-experimental/wicket-metrics
 ---------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2006-2012 Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
-   This product includes software from QOS.ch (http://slf4j.org) licensed under the X11 license
-   Copyright (c) 2004-2008 QOS.ch
-   
-   Contains Diff library from Mavens JRCS, released under
-   The Apache Software License, Version 1.1.
-   (c) 1999-2003
-
-   org.apache.wicket.markup.html.form.upload.MultiFileUploadField.js is taken from [1]
-   and has the following notice:
-      "Licence:
-       Use this however/wherever you like, just don't blame me if it breaks
-       anything.
-
-       Credit:
-       If you're nice, you'll leave this bit:
-
-       Class by Stickman -- http://www.the-stickman.com
-       with thanks to:
-       [for Safari fixes]
-          Luis Torrefranca -- http://www.law.pitt.edu
-          and
-          Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com
-       [for duplicate name bug]
-          'neal'"
-   [1]: http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
-
----------------------------------------------------------------------------
-src/./wicket-datetime
----------------------------------------------------------------------------
-   Apache Wicket Date Time
-   Copyright 2006-2012 Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-   
-   Contains code of the Yahoo User Interface library (version: 2.8.2r1),
-   released under the BSD License:
-   http://developer.yahoo.net/yui/license.txt
-   Copyright (c) 2010, Yahoo! Inc.
-
-   This product includes software developed by
-   Joda.org (http://www.joda.org/).
-
----------------------------------------------------------------------------
-src/./wicket-metrics
----------------------------------------------------------------------------
-
    Apache Wicket Metrics
    Copyright 2006-2016 Apache Software Foundation
 
@@ -128,4 +124,16 @@
    The Apache Software Foundation (http://www.apache.org/).
    
    This product uses AspectJ, developed at Eclipse, and licensed
-   under the Eclipse Public License. (https://eclipse.org/aspectj/).
\ No newline at end of file
+   under the Eclipse Public License. (https://eclipse.org/aspectj/).
+   
+---------------------------------------------------------------------------
+src/./wicket-guice
+---------------------------------------------------------------------------
+   Apache Wicket
+   Copyright 2006-2016 Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+   This product includes Guice, developed at Google, and licensed
+   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
