public static SearchRequest from(final KNXnetIPHeader h, final byte[] data, final int offset) throws KNXFormatException {
		final int svcType = h.getServiceType();
		if (svcType != KNXnetIPHeader.SEARCH_REQ && svcType != KNXnetIPHeader.SearchRequest)
			throw new KNXIllegalArgumentException("not a search request");
		return new SearchRequest(svcType, data, offset, h.getTotalLength() - h.getStructLength());
	}
public static SearchRequest from ( final KNXnetIPHeader h , final byte [ ] data , final int offset ) throws KNXFormatException { final int svcType = h . getServiceType ( ) ; if ( svcType != KNXnetIPHeader . SEARCH_REQ && svcType != KNXnetIPHeader . SearchRequest ) throw new KNXIllegalArgumentException ( "not a search request" ) ; return new SearchRequest ( svcType , data , offset , h . getTotalLength ( ) - h . getStructLength ( ) ) ; }
Creates a new search request from a byte array.

@param h KNXnet/IP header preceding the search request in the byte array
@param data byte array containing a search request
@param offset start offset of request in <code>data</code>
@return search request
@throws KNXFormatException on wrong structure size or invalid host protocol address information