Buggy code:
public class RemoteServiceRegistrationImpl implements Serializable , IRemoteServiceRegistration { private static final long serialVersionUID = - 3206899332723536545L ; transient Object service ; protected String [ ] clazzes ; protected long serviceid ; protected RemoteServiceRegistrationImpl . Properties properties ; protected int serviceranking ; protected transient Object registrationLock = new Object ( ) ; protected int state = RemoteServiceRegistrationImpl . REGISTERED ; protected ID containerID = null ; public static final int REGISTERED = 0 ; public static final int UNREGISTERING = 1 ; public static final int UNREGISTERED = 2 ; protected transient RemoteServiceReferenceImpl reference = null ; protected transient RegistrySharedObject sharedObject = null ; public RemoteServiceRegistrationImpl ( ) { } public void publish ( RegistrySharedObject sharedObject1 , RemoteServiceRegistryImpl registry , Object svc , String [ ] clzzes , Dictionary props ) { } public Object getService ( ) { } public ID getContainerID ( ) { } protected String [ ] getClasses ( ) { } public IRemoteServiceReference getReference ( ) { } public void setProperties ( Dictionary properties ) { } public void unregister ( ) { } protected RemoteServiceRegistrationImpl . Properties createProperties ( Dictionary props ) { } static class Properties extends Hashtable { private static final long serialVersionUID = - 3684607010228779249L ; private Properties ( int size , Dictionary props ) { } protected Properties ( Dictionary props ) { } protected Object getProperty ( String key ) { } protected synchronized String [ ] getPropertyKeys ( ) { } protected synchronized Object setProperty ( String key , Object value ) { } protected static Object cloneValue ( Object value ) { } public synchronized String toString ( ) { final String [ ] keys = getPropertyKeys ( ) ; final int size = keys . length ; final StringBuffer sb = new StringBuffer ( ( 20 * size ) ) ; sb . append ( '{' ) ; int n = 0 ; for ( int i = 0 ; i < size ; i ++ ) { final String key = keys [ i ] ; if ( ! ( key . equals ( REMOTEOBJECTCLASS ) ) ) { if ( n > 0 ) { sb . append ( ",<seq2seq4repair_space>" ) ; } sb . append ( key ) ; sb . append ( '=' ) ; final Object value = get ( key ) ; if ( value . getClass ( ) . isArray ( ) ) { sb . append ( '[' ) ; final int length = Array . getLength ( value ) ; for ( int j = 0 ; j < length ; j ++ ) { if ( j > 0 ) { sb . append ( ',' ) ; } sb . append ( Array . get ( value , j ) ) ; } sb . append ( ']' ) ; } else { sb . append ( value ) ; } n ++ ; } } sb . append ( '}' ) ; return sb . toString ( ) ; } } public Object getProperty ( String key ) { } public String [ ] getPropertyKeys ( ) { } public long getServiceId ( ) { } public Object callService ( RemoteCallImpl call ) throws Exception { } public String toString ( ) { StringBuffer buf = new StringBuffer ( "RemoteServiceRegistrationImpl[" ) ; buf . append ( "containerID=" ) . append ( containerID ) . append ( ";" ) ; buf . append ( "serviceid=" ) . append ( serviceid ) . append ( ";" ) ; buf . append ( "serviceranking=" ) . append ( serviceranking ) . append ( ";" ) ; buf . append ( "classes=" ) . append ( Arrays . asList ( clazzes ) ) . append ( ";" ) ; buf . append ( "state=" ) . append ( state ) . append ( ";" ) ; <START_BUG> buf . append ( "sharedobject=" ) . append ( sharedObject ) . append ( "]" ) ; <END_BUG> return buf . toString ( ) ; } }

Fix:
buf . append ( "properties=" ) . append ( properties ) . append ( "]" ) ;