protected Vector<JButton> createCustomButtons() {
		Vector<JButton> buttons = new Vector<JButton>();
		Method[] f = Global.customGlobal.getClass().getMethods();
		for(int i = 0; i < f.length; i++){
			AbstractCustomGlobal.CustomButton info = f[i].getAnnotation(AbstractCustomGlobal.CustomButton.class);
			if(info != null) {
				Class<?>[] params = f[i].getParameterTypes();
				if(params.length != 0) { // we only accept methods with no parameters
					continue;
				}
				String command = "GLOBAL_BUTTON_" + f[i].getName();
				JButton b = null;
				if(!info.imageName().equals("")) {
					b = createCustomIconButton(command, info.imageName(), info.toolTipText());
				} else { 
					b = createTextButton(command, info.buttonText(), info.toolTipText());
				}
				buttons.add(b);
				customButtons.add(new Tuple<JButton, Method>(b, f[i]));
			}
		}
		return buttons;
	}