if (!override)
if (ssi != null)
  boolean isPreserved(Text text)    throws TransformerConfigurationException  {    // Check characters in text    String value = text.getData();    if (value != null)      {        int len = value.length();        for (int i = 0; i < len; i++)          {            char c = value.charAt(i);            if (c != 0x20 && c != 0x09 && c != 0x0a && c != 0x0d)              {                return true;              }          }      }    // Check parent node    Node ctx = text.getParentNode();    if (!preserveSpace.isEmpty())      {        for (Iterator i = preserveSpace.iterator(); i.hasNext(); )          {            NameTest preserveTest = (NameTest) i.next();            if (preserveTest.matches(ctx, 1, 1))              {                boolean override = false;                if (!stripSpace.isEmpty())                  {                    for (Iterator j = stripSpace.iterator(); j.hasNext(); )                      {                        NameTest stripTest = (NameTest) j.next();                        if (stripTest.matches(ctx, 1, 1))                          {                            override = true;                            break;                          }                      }                  }                if (!override)                  {                    return true;                  }              }          }      }    // Check whether any ancestor specified xml:space    while (ctx != null)      {        if (ctx.getNodeType() == Node.ELEMENT_NODE)          {            Element element = (Element) ctx;            String xmlSpace = element.getAttribute("xml:space");            if ("default".equals(xmlSpace))              {                break;              }            else if ("preserve".equals(xmlSpace))              {                return true;              }            else if (xmlSpace.length() > 0)              {                String msg = "Illegal value for xml:space: " + xmlSpace;                throw new TransformerConfigurationException(msg);              }            else if ("text".equals(ctx.getLocalName()) &&                     XSL_NS.equals(ctx.getNamespaceURI()))              {                // xsl:text implies xml:space='preserve'                return true;              }          }        ctx = ctx.getParentNode();      }    return false;  }