public PreparedHTTPResponse create( HTTPHeaders headers,
					PostDataWrapper postData,
					UUID socketID,
					Socket socket,
					UUID sessionID, 
					Map<String,BasicType> additionals
					) {

	this.getHTTPHandler().getLogger().log( Level.INFO,
					       getClass().getName(),
					       "socketID=" + socketID + ", sessionID=" + sessionID + ", additionalSettings=" + additionals 
					       );
	

	BasicType statusCode   = additionals.get( "statusCode" );
	BasicType reasonPhrase = additionals.get( "reasonPhrase" );
	BasicType errorMessage = additionals.get( "errorMessage" );

	try {
	    

	    if( statusCode == null || reasonPhrase == null || errorMessage == null ) {

		this.getHTTPHandler().getLogger().log( Level.WARNING,
						       getClass().getName(),
						       "Cannot build error reply. The passed additionals miss some essential params (statusCode="+statusCode+", reasonPhrase="+reasonPhrase+", errorMessage="+errorMessage+"). Senging INTERNAL_SERVER_ERROR. additionals=" + additionals.toString() 
						       );

	
		return buildPreparedErrorResponse( headers, 
						   socketID, 
						   socket, 
						   sessionID, // userID,
						   
						   Constants.HTTP_STATUS_SERVERERROR_INTERNAL_SERVER_ERROR,
						   "Internal Server Error",
						   "The system encountered a fatal error. Your request could not be processed.",

						   additionals
						   );
	    } else {

		return buildPreparedErrorResponse( headers, 
						   socketID, 
						   socket, 
						   sessionID,   // userID,

						   statusCode.getInt(),
						   reasonPhrase.getString(),
						   errorMessage.getString(),

						   additionals
						   );

	    }

	} catch( BasicTypeException e ) {

	    this.getHTTPHandler().getLogger().log( Level.WARNING,
						       getClass().getName(),
						       "Cannot build error reply. The passed additionals miss some essential params (statusCode="+statusCode+", reasonPhrase="+reasonPhrase+", errorMessage="+errorMessage+"). Senging INTERNAL_SERVER_ERROR." 
						       );
		
	    return buildPreparedErrorResponse( headers, 
					       socketID, 
					       socket, 
					       sessionID, // userID,
					       
					       Constants.HTTP_STATUS_SERVERERROR_INTERNAL_SERVER_ERROR,
					       "Internal Server Error",
					       "The system encountered a fatal error. Your request could not be processed.",

					       additionals
					       );

	}
	

    }