Cannot Distinguish Between Commands that Have the Same First String

I am trying to setup a console using Nifty. It seems pretty easy but I have a major problem. Say I have a command as follows:

ConsoleCommand setH = new setH();
cc.registerCommand(“set h #”, setH);
And then I have the following class:
private class setH implements ConsoleCommand {
public void execute(final String[] args) {
H = Float.parseFloat(args[2]);
console.output(“Variable '”+args[1]+"’ set to "+args[2]);
so when I type “set h <some number>” the appropriate action takes place
But if I also have a class that is entitled “setO” and have a command that is like the set h command but with an o, the setH command is still activated. It is as if the first word in the command is all that matters.

Is this a known problem or am I doing something wrong?

Maybe you just have a “setH” still lurking somewhere?

@normen said: Maybe you just have a "setH" still lurking somewhere?
I don't believe so...I decided that it was an unfixable problem so I decided to roll with it. I put all of my variables in a map object and use the second argument of "set <variable name> <number>" to look up the variable in the map. It seems cleaner than making a command for every single variable.

On a slightly related note, is there a reason why I am unable to make any output a different color (other than white)?
Even outputting text as an error does not change the color…