/// <summary> Returns a mutated clone of this LdapMessage,
 /// replacing base dn, filter.
 ///
 /// </summary>
 /// <param name="dn">the base dn
 ///
 /// </param>
 /// <param name="filter">the filter
 ///
 /// </param>
 /// <param name="reference">true if a search reference
 ///
 /// </param>
 /// <returns> the object representing the new message
 /// </returns>
 /* package */
 internal LdapMessage Clone(System.String dn, System.String filter, bool reference)
 {
     return(new LdapMessage((RfcLdapMessage)message.dupMessage(dn, filter, reference)));
 }