output: #fixed code
                               @Test
  	public void shouldCreateConversationThenJoinAndSendOfferRequest() throws Exception {
  		// given
  		MessageMatcher s1Matcher = new MessageMatcher();
  		MessageMatcher s2Matcher = new MessageMatcher();
  		Session s1 = mockSession("s1", s1Matcher);
  		Session s2 = mockSession("s2", s2Matcher);
  		server.register(s1);
  		server.register(s2);
  
  		// when
  		server.handle(Message.create()//
  				.signal("create")//
  				.build(), s1);
  		String conversationKey = s1Matcher.getMessage().getContent();
  		s1Matcher.reset();
  		server.handle(Message.create()//
  				.signal("join")//
  				.content(conversationKey)//
  				.build(), s2);
  
  		// then
  		assertThat(s1Matcher.getMessages().size(), is(2));
  		assertMatch(s1Matcher, 0, "s2", "s1", "joined", EMPTY);
  		assertMatch(s1Matcher, 1, "s2", "s1", "offerRequest", EMPTY);
  
  		assertThat(s2Matcher.getMessages().size(), is(1));
  		assertMatch(s2Matcher, 0, EMPTY, "s2", "joined", conversationKey);
  	}
input: #vulnerable code 
                               @Test
  	public void shouldCreateConversationThenJoinAndSendOfferRequest() throws Exception {
  		// given
  		MessageMatcher s1Matcher = new MessageMatcher();
  		MessageMatcher s2Matcher = new MessageMatcher();
  		Session s1 = mockSession("s1", s1Matcher);
  		Session s2 = mockSession("s2", s2Matcher);
  		server.register(s1);
  		server.register(s2);
  
  		// when
  		server.handle(Message.create()//
  				.signal("create")//
  				.build(), s1);
  		String conversationKey = s1Matcher.getMessage().getContent();
  		s1Matcher.reset();
  		server.handle(Message.create()//
  				.signal("join")//
  				.content(conversationKey)//
  				.build(), s2);
  
  		// then
  		assertThat(s1Matcher.getMessages().size(), is(2));
  		assertThat(s1Matcher.getMessage().getFrom(), is("s2"));
  		assertThat(s1Matcher.getMessage().getTo(), is("s1"));
  		assertThat(s1Matcher.getMessage().getSignal(), is("joined"));
  
  		assertThat(s1Matcher.getMessage(1).getFrom(), is("s2"));
  		assertThat(s1Matcher.getMessage(1).getTo(), is("s1"));
  		assertThat(s1Matcher.getMessage(1).getSignal(), is("offerRequest"));
  
  		assertThat(s2Matcher.getMessages().size(), is(1));
  		assertThat(s2Matcher.getMessage().getSignal(), is("joined"));
  		assertThat(s2Matcher.getMessage().getContent(), is(conversationKey));
  	} 
                              #location 30 
                              #vulnerability type NULL_DEREFERENCE