private HandshakeState isFlashEdgeCase( ByteBuffer request ) throws IncompleteHandshakeException
	{
		request.mark();
		if ( request.limit() > Draft.FLASH_POLICY_REQUEST.length )
		{
			return HandshakeState.NOT_MATCHED;
		}
		else if ( request.limit() < Draft.FLASH_POLICY_REQUEST.length )
		{
			throw new IncompleteHandshakeException( Draft.FLASH_POLICY_REQUEST.length );
		}
		else
		{
			
			for ( int flash_policy_index = 0; request.hasRemaining(); flash_policy_index++ )
			{
				if ( Draft.FLASH_POLICY_REQUEST[flash_policy_index] != request.get() )
				{
					request.reset();
					return HandshakeState.NOT_MATCHED;
				}
			}
			return HandshakeState.MATCHED;
		}
	}