question: BigInteger copy ( ) { prepareJavaRepresentation ( ) ; int [ ] copyDigits = new int [ numberLength ] ; System . arraycopy ( digits , 0 , copyDigits , 0 , numberLength ) ; return new BigInteger ( sign , numberLength , copyDigits ) ; }
target:  Returns a copy of the current instance to achieve immutability