public static byte[] generatePELock( int serviceID, String PEList ) 
    {
    	if( PEList == null )
    		return null;
    	
    	if( PEList.length() == 0 )
    		return null;
    	
 		String[] pieces = PEList.split(","); //6567,451 
 		int length = pieces.length;
 		if(length == 0)
 			return null;

 		if( _longArrayList == null )
 			_longArrayList = new ArrayList<Long>();
 		else
 			_longArrayList.clear();
 		
    	for( int i = 0; i < length; i++ )
    	{
    		String sValue = pieces[ i ];
    		
    		try
    		{
    			Long numericValue = Long.parseLong( sValue );
    			_longArrayList.add( numericValue );
    		}
    		catch(Exception e)
    		{
    			
    		}
    	}
    	
 		// copy from ArrayList to long[]
    	long vPEList[] = new long[ _longArrayList.size() ];
 		for( int i = 0; i < _longArrayList.size(); i++ )
 		{
 			vPEList[i] = _longArrayList.get(i);
 		}

 		// create DACS lock
    	try 
    	{
    		AuthorizationLock authLock = new AuthorizationLock( serviceID, AuthorizationLock.OR, vPEList );
        	byte[] dacsLock = authLock.getAuthorizationLock();
        	return dacsLock;
    	} 
    	catch (AuthorizationException e) 
    	{
    		System.out.println("DACS Lock Error! "+e.toString() );
    		return null;
    	}
    }