public Light provideLight(String name){
  Light t=getLight(name);
  if (t != null) {
    return t;
  }
  if (name.startsWith(getSystemPrefix() + typeLetter())) {
    return newLight(name,null);
  }
 else   if (name.length() > 0) {
    return newLight(makeSystemName(name),null);
  }
 else {
    throw new IllegalArgumentException("\"" + name + "\" is invalid");
  }
}

public Light provideLight ( String name ) { Light t = getLight ( name ) ; if ( t != null ) { return t ; } if ( name . startsWith ( getSystemPrefix ( ) + typeLetter ( ) ) ) { return newLight ( name , null ) ; } else if ( name . length ( ) > 0 ) { return newLight ( makeSystemName ( name ) , null ) ; } else { throw new IllegalArgumentException ( "\"" + name + "\" is invalid" ) ; } }
locate via user name , then system name if needed . if that fails , create a new light : if the name is a valid system name , it will be used for the new light . otherwise , the makesystemname method will attempt to turn it into a valid system name .
