code: public static DeploymentContext create(final String deploymentName, final InputStream socketInstream,
                                             final OutputStream socketOutstream, final BufferedReader reader, final PrintWriter writer)
              throws IllegalArgumentException {
          if (deploymentName == null || deploymentName.length() == 0) {
              throw new IllegalArgumentException("Deployment name must be specified");
          }
          if (socketInstream == null) {
              throw new IllegalArgumentException("socket instream must be specified");
          }
          if (socketOutstream == null) {
              throw new IllegalArgumentException("socket outstream must be specified");
          }
          if (reader == null) {
              throw new IllegalArgumentException("reader must be specified");
          }
          if (writer == null) {
              throw new IllegalArgumentException("writer must be specified");
          }
          final DeploymentContext context = new DeploymentContext(deploymentName, socketInstream, socketOutstream,
                  reader, writer);
          return context;
      }
docs: Creates and returns a new {@link DeploymentContext} instance from the required arguments
  
  @param deploymentName  Name of the deployment
  @param socketInstream
  @param socketOutstream
  @param reader
  @param writer
  @return
  @throws IllegalArgumentException If any argument is not specified