c = chars[i];
    public Name(String name) throws IllegalArgumentException,      NullPointerException    {      // name must not be null      // this will throw a NullPointerException if it is      char chars[] = name.toCharArray();      // there must be at least one character      if (chars.length == 0)	throw new	  IllegalArgumentException	  ("There must be at least one character in a name");      // first character must be alphanum      char c = chars[0];      if (!((c >= 'a' && c <= 'z') ||	    (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')))	throw new	  IllegalArgumentException("First character must be alphanum");      // all other characters must be alphanums, '-' or '_'      for (int i = 1; i < chars.length; i++)	{	  if (!((c >= 'a' && c <= 'z') ||		(c >= 'A' && c <= 'Z') ||		(c >= '0' && c <= '9') || (c == '-') || (c == '_')))	    throw new	      IllegalArgumentException	      ("Characters must be alphanums, '-' or '_'");	}      // Still here? Then convert to lower case and be done.      // Store the original name for toString();      this.origName = name;      this.name = name.toLowerCase();    }