SessionDescription { public void parse(byte[] data) throws ParseException { Text text = new Text(); text.strain(data, 0, data.length); init(text); } SessionDescription(); void parse(byte[] data); void init(Text text); Text getVersion(); void setVersion(String version); OriginField getOrigin(); void setOrigin(String name, String sessionID, String sessionVersion,
            String netType, String addressType, String address); String getSession(); ConnectionField getConnection(); TimeField getTime(); Text getFingerprint(); Text getFingerprint(MediaType mediaType); Collection<MediaDescriptorField> getMedia(); MediaDescriptorField getAudioDescriptor(); MediaDescriptorField getVideoDescriptor(); MediaDescriptorField getApplicationDescriptor(); boolean hasAudioDescriptor(); boolean hasVideoDescriptor(); boolean hasApplicationDescriptor(); boolean isIce(); boolean isAudioIce(); void reset(); @Override String toString();  }
@Test public void testParsingTime() throws ParseException { byte[] data = sdp.getBytes(); long s = System.nanoTime(); for (int i = 0; i < 100; i++) { sd.parse(data); } long duration = System.nanoTime() - s; System.out.println("Duration=" + duration); }