private static LDAPFilter createSubstringFilter(SubstringFilter sf) throws LDAPException, IOException {
  List<Object> anyo=sf.getAny();
  ArrayList<ByteString> subAnyElements=new ArrayList<>(anyo.size());
  for (  Object o : anyo) {
    subAnyElements.add(ByteStringUtility.convertValue(o));
  }
  if (sf.getInitial() == null && subAnyElements.isEmpty() && sf.getFinal() == null) {
    LocalizableMessage message=ERR_LDAP_FILTER_DECODE_NULL.get();
    throw new LDAPException(LDAPResultCode.PROTOCOL_ERROR,message);
  }
  return LDAPFilter.createSubstringFilter(sf.getName(),sf.getInitial() == null ? null : ByteStringUtility.convertValue(sf.getInitial()),subAnyElements,sf.getFinal() == null ? null : ByteStringUtility.convertValue(sf.getFinal()));
}

private static LDAPFilter createSubstringFilter ( SubstringFilter sf ) throws LDAPException , IOException { List < Object > anyo = sf . getAny ( ) ; ArrayList < ByteString > subAnyElements = new ArrayList < > ( anyo . size ( ) ) ; for ( Object o : anyo ) { subAnyElements . add ( ByteStringUtility . convertValue ( o ) ) ; } if ( sf . getInitial ( ) == null && subAnyElements . isEmpty ( ) && sf . getFinal ( ) == null ) { LocalizableMessage message = ERR_LDAP_FILTER_DECODE_NULL . get ( ) ; throw new LDAPException ( LDAPResultCode . PROTOCOL_ERROR , message ) ; } return LDAPFilter . createSubstringFilter ( sf . getName ( ) , sf . getInitial ( ) == null ? null : ByteStringUtility . convertValue ( sf . getInitial ( ) ) , subAnyElements , sf . getFinal ( ) == null ? null : ByteStringUtility . convertValue ( sf . getFinal ( ) ) ) ; }
returns a new substring search filter with the provided information .
