BigInteger copy(){
  prepareJavaRepresentation();
  int[] copyDigits=new int[numberLength];
  System.arraycopy(digits,0,copyDigits,0,numberLength);
  return new BigInteger(sign,numberLength,copyDigits);
}

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