public static boolean isWellKnownImmutableInstance(Object o) {
    if (o instanceof String) {
      return true;
    }
    if (o instanceof Number) {
      if (o instanceof Integer) {
        return true;
      }
      if (o instanceof Long) {
        return true;
      }
      if (o instanceof Byte) {
        return true;
      }
      if (o instanceof Short) {
        return true;
      }
      if (o instanceof Float) {
        return true;
      }
      if (o instanceof Double) {
        return true;
      }
      // subclasses of non-final classes may be mutable
      if (o.getClass().equals(BigInteger.class)) {
        return true;
      }
      if (o.getClass().equals(BigDecimal.class)) {
        return true;
      }
    }
    if (o instanceof PdxInstance && !(o instanceof WritablePdxInstance)) {
      // no need to copy since it is immutable
      return true;
    }
    if (o instanceof Character) {
      return true;
    }
    return o instanceof UUID;
  }
Return true if the given object is an instance of a well known immutable class. The well known
classes are:
<ul>
<li>String
<li>Byte
<li>Character
<li>Short
<li>Integer
<li>Long
<li>Float
<li>Double
<li>BigInteger
<li>BigDecimal
<li>UUID
<li>PdxInstance but not WritablePdxInstance
</ul>

@param o the object to check
@return true if o is an instance of a well known immutable class.
@since GemFire 6.6.2
geode-core/src/main/java/org/apache/geode/CopyHelper.java