code: public static ProxyCertInfo getInstance(Object obj) {
  
  //        String err = obj.getClass().getName();
  
          if (obj instanceof ProxyCertInfo) {
              return (ProxyCertInfo) obj;
          } else if (obj instanceof ASN1Sequence) {
              return new ProxyCertInfo((ASN1Sequence) obj);
          } else if (obj instanceof byte[]) {
              ASN1Primitive derObj;
              try {
                  derObj = CertificateUtil.toASN1Primitive((byte[]) obj);
              } catch (IOException e) {
                  throw new IllegalArgumentException(e.getMessage(), e);
              }
              if (derObj instanceof ASN1Sequence) {
                  return new ProxyCertInfo((ASN1Sequence) derObj);
              }
          }
          throw new IllegalArgumentException();
      }
docs: Returns an instance of <code>ProxyCertInfo</code> from given object.
  
  @param obj the object to create the instance from.
  @return <code>ProxyCertInfo</code> instance.
  @throws IllegalArgumentException if unable to convert the object to <code>ProxyCertInfo</code> instance.