code: public static String substringBetween(String str, String tag) {
        return substringBetween(str, tag, tag);
    }
docs: <p>Gets the String that is nested in between two instances of the
  same String.</p>
  
  <p>A <code>null</code> input String returns <code>null</code>.
  A <code>null</code> tag returns <code>null</code>.</p>
  
  <pre>
  GosuStringUtil.substringBetween(null, *)            = null
  GosuStringUtil.substringBetween("", "")             = ""
  GosuStringUtil.substringBetween("", "tag")          = null
  GosuStringUtil.substringBetween("tagabctag", null)  = null
  GosuStringUtil.substringBetween("tagabctag", "")    = ""
  GosuStringUtil.substringBetween("tagabctag", "tag") = "abc"
  </pre>
  
  @param str  the String containing the substring, may be null
  @param tag  the String before and after the substring, may be null
  @return the substring, <code>null</code> if no match
  @since 2.0