code: public static String getSourcePath(String pkg, String app) {
  		String path = "";
  		if(pkg == null || app == null)
  			return path;
  
  
  		String pathToBase = getPathToBase();
  		if( pathToBase != null ) {
  			if(pkg.contains("examples"))
  				path =  new File(pathToBase,"examples/src/main/java/").getAbsolutePath();
  			else if(pkg.contains("demonstrations"))
  				path =  new File(pathToBase,"demonstrations/src/main/java/").getAbsolutePath();
  			else {
  				System.err.println("pkg must be to examples or demonstrations. " + pkg);
  				return path;
  			}
  			String pathToCode = pkg.replace('.','/') + "/" + app + ".java";
  			return new File(path,pathToCode).getPath();
  		} else {
  			// probably running inside a jar
  			String pathToCode = pkg.replace('.','/') + "/" + app + ".java";
  			URL url = UtilIO.class.getClassLoader().getResource(pathToCode);
  			if( url != null )
  				return url.toString();
  			else
  				return pathToCode;
  		}
  	}
docs: Constructs the path for a source code file residing in the examples or demonstrations directory
  In the case of the file not being in either directory, an empty string is returned
  The expected parameters are class.getPackage().getName(), class.getSimpleName()
  @param pkg package containing the class
  @param app simple class name
  @return