code: public static PlanExecutor createRemoteExecutor(String hostname, int port, String... jarFiles) {
  		if (hostname == null) {
  			throw new IllegalArgumentException("The hostname must not be null.");
  		}
  		if (port <= 0 || port > 0xffff) {
  			throw new IllegalArgumentException("The port value is out of range.");
  		}
  		
  		Class<? extends PlanExecutor> reClass = loadExecutorClass(REMOTE_EXECUTOR_CLASS);
  		
  		List<String> files = (jarFiles == null || jarFiles.length == 0) ? Collections.<String>emptyList() : Arrays.asList(jarFiles); 
  		
  		try {
  			return reClass.getConstructor(String.class, int.class, List.class).newInstance(hostname, port, files);
  		}
  		catch (Throwable t) {
  			throw new RuntimeException("An error occurred while loading the remote executor (" + REMOTE_EXECUTOR_CLASS + ").", t);
  		}
  	}
docs: Creates an executor that runs the plan on a remote environment. The remote executor is typically used
  to send the program to a cluster for execution.
  
  @param hostname The address of the JobManager to send the program to.
  @param port The port of the JobManager to send the program to.
  @param jarFiles A list of jar files that contain the user-defined function (UDF) classes and all classes used
  from within the UDFs.
  @return A remote executor.
  @see eu.stratosphere.client.RemoteExecutor