I'm trying to work with an object that has one constructor which is dependant upon itself. Something like the following where RemotePeer is an interface and Peer extends it. However this is the only constructor for a peer. RemotePeer p = new Peer( String hostURL, RemotePeer p ); I can't pass it null or anything, since this is an RMI app I need to Remote Peer passed to have it's functions executed on my side of the application. In other words I can pass it null, since the other peer using it would be attempting to call functions on it.