If properties were null, there would have been a NPE when calling properties.get("definition"). I guess it would make sense to add an Assert.notNull before that call (since definition is required anyways)?