boolean insertedUserDefinedActions = false;
final ArrayList<ActionCategory> collectedCategories = new ArrayList<ActionCategory>();
for (final Map.Entry<ActionCategory, ActionPlugin[]> entry : actionPlugins.entrySet())
{
final ActionCategory cat = entry.getKey();
collectedCategories.add(cat);
final ActionPlugin[] plugins = entry.getValue();
if (plugins.length > 0)
{
if (plugins[0] == null)
{
throw new NullPointerException();
}
}
if (insertedUserDefinedActions == false && cat.getPosition() > userPos)
{
final ReportController controller = getReportController();
if (controller != null)
{
controller.initialize(this);
final JMenu[] controlerMenus = controller.getMenus();
for (int i = 0; i < controlerMenus.length; i++)
{
final ActionCategory userCategory = new ActionCategory();
userCategory.setName("X-User-Category-" + i); //$NON-NLS-1$
userCategory.setPosition(userPos + i);
userCategory.setUserDefined(true);
menus.put(userCategory, controlerMenus[i]);
collectedCategories.add(userCategory);
}
}