code: public void constructFault(FaultException faultException, Object argument)
  	{
  		
  		//check argument
  		if(argument != null && faultException.getArgument() == null)
  			faultException.setArgument(argument);
  		
  
  		StackTraceElement stackTraceElement = null;
  		if(faultException.getModule() == null)
  		{
  			if(this.defaultModule != null && this.defaultModule.length() > 0)
  				faultException.setModule(defaultModule);
  			else
  			{
  				stackTraceElement = determineCauseStackTraceElementsn(faultException);
  				
  				if(stackTraceElement != null)
  					faultException.setModule(stackTraceElement.getFileName());
  			}
  				
  		}
  		
  		if(faultException.getOperation() == null)
  		{
  			if(this.defaultOperation != null && this.defaultOperation.length() > 0)
  				faultException.setOperation(this.defaultOperation);
  			else
  			{
  				if(stackTraceElement == null)
  					stackTraceElement = determineCauseStackTraceElementsn(faultException);
  				
  				if(stackTraceElement != null)
  					faultException.setOperation(stackTraceElement.getMethodName());
  				
  				
  				//add line number
  				if((faultException.getNotes() == null || faultException.getNotes().length() == 0) && stackTraceElement != null)
  				{
  					faultException.setNotes(lineNumberNotePrefix+stackTraceElement.getLineNumber());
  					
  				}
  			}
  			
  			
  		}
  		
  		
  		
  	}
docs: -----------------------------------------------